如何在 where() 函数中给出条件以使表中的记录不等于零

Posted

技术标签:

【中文标题】如何在 where() 函数中给出条件以使表中的记录不等于零【英文标题】:How can I give condition in where() function to get not equal to zero record in table 【发布时间】:2019-01-16 12:30:21 【问题描述】:

我的表中有一个 Grand total 列,我只想在表中显示大于 zero(0) 的数字记录

我在model这样尝试

function fetchCashDetail($from_date_bk,$to_date_bk,$lr_pay_mode)

    $this->db->select('*')
          ->from('delivery_due_received')
          ->where('delivery_due_date BETWEEN "'. date('Y-m-d', strtotime($from_date_bk)). '" AND "'. date('Y-m-d', strtotime($to_date_bk)).'"');

    if($lr_pay_mode == 'pending') 
        $this->db->where('g_total !==0');
    else
        $this->db->where('pay_mode',$lr_pay_mode);
                                         
    return $this->db->get()->result();

它返回Unknown column '=0' in 'where clause'这个错误信息 我只想显示大于零的数字。

【问题讨论】:

您确定 g_total !==0 是您使用的任何 ORM 的有效表达式吗? 尝试!= 而不是!==,因为那是 php 语法而不是 mysql @RiggsFolly 感谢它的工作 【参考方案1】:
$this->db->where('g_total != 0');

!== 不是有效的表达式

或者更好:$this->db->where('g_total !=', 0);

【讨论】:

【参考方案2】:
$this->db->where('g_total >',0);

你可以试试这个

【讨论】:

以上是关于如何在 where() 函数中给出条件以使表中的记录不等于零的主要内容,如果未能解决你的问题,请参考以下文章

mysql'WHERE'条件中的列号

使表的显示依赖于 Interface Builder 中另一个表中的选择

东软实训之数据库

如何将不符合WHERE条件的联接表中的数据包含为空值(SQL)

如何也使用 where 条件从表中获取列名

LARAVEL 5.8 - 在 foreach 中使用数组的 WHERE LIKE 子句的多个条件没有给出完整的结果