php - codeigniter,使用 Case When 进行Where 查询

标签 php mysql codeigniter

我有这个查询,我想让它以 codeigniter 查询形式工作,所以想知道它是否可能。

这是我想以 Codeigniter 自己的方式在 Codeigniter 中实现的查询。

    use zorkif_next;
SELECT 
    `osp_job_status_track`.`StatusID`,
    `osp_job_status_track`.`SubStatusID`,
    `osp_job_sub_status`.`CurrentStatus`
FROM
    (`osp_job_details`)
        LEFT JOIN
    `osp_job_status_track` ON `osp_job_status_track`.`JobID` = `osp_job_details`.`JobID`
        LEFT JOIN
    `osp_job_status` ON `osp_job_status`.`StatusID` = `osp_job_status_track`.`StatusID`
        LEFT JOIN
    `osp_job_sub_status` ON `osp_job_sub_status`.`SubStatusID` = `osp_job_status_track`.`SubStatusID`
        LEFT JOIN
    `hr_employee_details` ON `hr_employee_details`.`EmployeeID` = `osp_job_details`.`AssignToEmployeeID`
        LEFT JOIN
    `osp_job_type` ON `osp_job_type`.`JobTypeID` = `osp_job_details`.`JobtypeID`
WHERE
    -- `isDefault` = 1
       --    AND 

    CASE WHEN `osp_job_status`.`StatusID` = 2 
    THEN  `osp_job_sub_status`.`CurrentStatus` = 3
    ELSE `osp_job_status`.`StatusID` >= 2
    END ;

那么如何实现这个查询

$this->db->where($where);

???

最佳答案

这在 CI 中是不可能的。您需要编写自己的查询。请查看此文件。您可以看到其中所有可用的方法。

\system\database\DB_active_rec.php

关于php - codeigniter,使用 Case When 进行Where 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16784713/

相关文章:

php - 迁移到新的 MYSQL 服务器会破坏使用 codeigniter 制作的网站

php - 去掉mysql中的撇号?

php - 无法使用 PHP PDO 连接到使用 Docker 运行的本地 MariaDB

php - mysql日期范围查询特定日期格式(MMM-YY)

php - 有没有办法在 CodeIgniter 中自动返回所有数据库列?

mysql - 创建存储过程以更新新记录的字段

php - 插入 session ID 和段

php - 在一个查询中组合两个不同的过滤器 - Elastica

javascript - PHP 和 SQL Server 错误处理?

javascript - 根据地址获取经纬度