IF语句在哪里(codeigniter活动记录)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IF语句在哪里(codeigniter活动记录)相关的知识,希望对你有一定的参考价值。

我想询问有关活动记录的codeigniter是否可以在活动记录中使用IF语句?

$this->db->where("IF((month(a.create_date)) < month(now()) , d.approve_by, '') like $username" );

所以,我想获得数据approve_by但create_date必须是当月之前的月份

我试过mysql,它可以。

IF(month(a.create_date) < month(NOW()),b.approve_by,'') = 'someusername'

当我尝试在活动记录上实现时,没有显示任何内容。

感谢帮助 :)

答案

来自Codeigniter Userguide

$ this-> db-> where()接受可选的第三个参数。如果将其设置为FALSE,CodeIgniter将不会尝试使用反引号来保护您的字段或表名称。

$this->db->where("IF((month(a.create_date)) < month(now()) , d.approve_by, '') like $username", NULL, FALSE);

另一答案
           $this->db->select('
            (CASE 
            WHEN orderdetails.ProductID = 0 THEN dealmaster.deal_name
            WHEN orderdetails.DealID = 0 THEN products.name
            END) 
            as product_name')

以上是关于IF语句在哪里(codeigniter活动记录)的主要内容,如果未能解决你的问题,请参考以下文章

codeigniter 活动记录,生成,但不执行查询

codeigniter 活动记录获取查询和不带 LIMIT 子句的查询

Codeigniter 活动记录查询

CodeIgniter 活动记录 +1

如何在 CodeIgniter 中获取活动记录插入的结果

CodeIgniter 活动记录在子查询中的位置