所以我有点陷入这个我需要做的查询中。
让我试着解释一下我的问题。 我在模型中的方法中收到以下内容: $ a,$ b和$ c。
但$ b和$ c可能为空。
所以我的查询需要是这样的
从from_user_id
中选择*,其中((to_user_id
= $ a或from_user_id
= $ a)和(to_user_id
= $ b或to_user_id
= $ b)或(from_user_id
= $ a和find
= 0))和id = $ c
答案 0 :(得分:3)
使用嵌套where()
和orWhere()
:
Model::where(function($q) {
$q->where('from_user_id', $a)
->orWhere('to_user_id', $a)
})->where(function($q) {
$q->where('from_user_id', $b)
->orWhere('to_user_id', $b)
})->orWhere(function($q) {
$q->where('from_user_id', $a)
->orWhere('to_user_id', $0)
})->where('id', $c)
->get();