怎么说 WHERE (a = 1 OR b =1 ) AND (c = 1 OR d = 1)
对于更复杂的查询,我应该使用原始 SQL 吗?
原文由 Farzher 发布,翻译遵循 CC BY-SA 4.0 许可协议
怎么说 WHERE (a = 1 OR b =1 ) AND (c = 1 OR d = 1)
对于更复杂的查询,我应该使用原始 SQL 吗?
原文由 Farzher 发布,翻译遵循 CC BY-SA 4.0 许可协议
ModelName::where(function ($query) use ($a) {
$query->where('a', '=', $a)->orWhereNull('a');
})
->where(function ($query) use ($b,$c) {
$query->where('b', '=', $b)
->orWhere('c', '=', $c);
})->where('d',$d);
输出查询:
SELECT * FROM ModelName WHERE (a=‘a’ or a is null) AND (b=‘b’ or c=‘c’) AND d=’d’;
原文由 Debendra 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答568 阅读✓ 已解决
784 阅读
利用 逻辑分组(Laravel 7.x / 4.2 )。对于您的示例,它将是这样的: