2017-03-23 15:20:10 4751次浏览 3条回答 0 悬赏 10 金钱

$query->andFilterWhere(['approveStep'=>null]);
我用上面这一句返回的是全部的记录,
但是如果$query->andFilterWhere(['approveStep'=>10],就返回这个字段是10的全部结果。

补充于 2017-03-23 16:01

我明白了andFilerWhere 会过滤掉为空的条件,用andWhere就正常了

最佳答案

  • yidashi 发布于 2017-03-24 15:47 举报

    filterWhere就是where条件的值不为空时候才起作用。在一些搜索场景非常方便,不需要先判断这个值有没有,然后再去where。

    是不是空是这样判断的

        protected function isEmpty($value)
        {
            return $value === '' || $value === [] || $value === null || is_string($value) && trim($value) === '';
        }
    
您需要登录后才可以回答。登录 | 立即注册
zq
主管

zq

注册时间:2017-02-09
最后登录:2022-12-08
在线时长:13小时59分
  • 粉丝3
  • 金钱320
  • 威望10
  • 积分550

热门问题