结合两个laravel雄辩的查询

时间:2017-10-31 18:32:09

标签: laravel eloquent

我有两个问题。一个返回interview等于1的所有情况和另一个interview等于2的情况。然后我添加两个。目前在我的数据库中我有两个案例,其中访谈是2,一个案例是访谈是1.我的两个陈述都有效。但是,当我因某种原因尝试将它们组合时,我得到4.不确定为什么。如何组合它们以获得正确的数字。

以下是两个加起来为3的语句

Scan::where('user_id', $client->id)->where('interview', '2')->count();
Scan::where('user_id', $client->id)->where('interview', '1')->count();

当我尝试组合然后使用和orwhere语句时,它返回4

Scan::where('user_id', $client->id)->where('interview', '2')->orwhere('interview', '1')->count();

我做错了什么以及如何解决。

1 个答案:

答案 0 :(得分:3)

问题是ANDOR

第一个使用user_idinterview 严格返回结果,而第二个看起来像user_id,和interview = 1或{{1 }}

根据外观,这意味着,您将获得更多结果,因为查询与interview = 2 匹配更多记录而没有user_id

但是,你可以使用interview = 2函数,即:

whereIn

它会返回Scan::where('user_id', $client->id) ->whereIn('interview', ['2', '1']) ->count(); 值为2或1的结果。