尝试在where子句中将字段比较为0时的奇怪行为

时间:2014-12-18 11:19:37

标签: php mysql laravel laravel-4

假设我的数据库中有2条记录:

--  Name  -- approved -- resolved
-- Record1 --    1     --    0
-- Record2 --    1     --    1

我正在使用Where子句

获取记录
$results = DB::table('mytable')->where('mytable.approved','=',1)->where('mytable.resolved','=',0);

奇怪的行为是,如果Record1拒绝提取resolved=0行,

如果我将查询更改为

$results = DB::table('mytable')->where('mytable.approved','=',1)->where('mytable.resolved','>',0); 

它会抓取Record2

任何人都知道出了什么问题?

我尝试使用字段类型并将其设置为boolean和null,但没有帮助。

1 个答案:

答案 0 :(得分:0)

嘿使用whereRaw可能是下面的代码工作

$ results = DB :: table(' mytable') - > whereRaw(" mytable.approved = 1 AND mytable.resolved = 0");

试试这个

它解决了你的问题。