假设我的数据库中有两个记录:

--  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
有人知道怎么了吗?
我尝试使用字段类型,并将其设为布尔值和空值,但没有帮助。

最佳答案

嘿使用下面的代码
$results=db::table('mytable')->whereraw(“mytable.approved=1和mytable.resolved=0”);
试试这个
它解决了你的问题。

关于php - 尝试在where子句中将字段与0进行比较时出现奇怪的行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27545351/

10-15 17:18