我怎么说WHERE (a = 1 OR b =1 ) AND (c = 1 OR d = 1)

对于更复杂的查询,我应该使用原始SQL吗?

推荐答案

使用Logical Grouping(Laravel 7.x/4.2).对于您的示例,应该是这样的:

Model::where(function ($query) {
    $query->where('a', '=', 1)
          ->orWhere('b', '=', 1);
})->where(function ($query) {
    $query->where('c', '=', 1)
          ->orWhere('d', '=', 1);
});

Php相关问答推荐

PHP DOMDocument忽略第一个表S结束标记

过滤WooCommerce管理员订单列表(+HPOS)中包含其作者产品的订单

我如何知道BaseController中当前运行的是哪个控制器?

使用WordPress wp_mail()的邮箱标题无效

获取并判断WooCommerce用户订阅结束日期

在PHP中,如何将介于0和1之间(包括0和1)的浮点概率转换为数组索引?

在WooCommerce管理中 for each 运输方法设置添加自定义字段

如何在WordPress REST API中判断应用程序密码

curl_close()未从PHP 8开始写入CURLOPT_COOKIEJAR会话文件

$this->;db->;update();CodIgnitor中的功能不工作

htaccess 配置提供静态文件和动态文件

Woocommerce 仅在前端为登录用户提供价格折扣

在 WooCommerce 中应用优惠券时显示购物车商品折扣金额

laravel Eloquent 模型的问题

从 XAMPP 运行 shell 脚本时,意外标记(附近出现语法错误

无法使用 slim 的父级容器

Laravel 发送邮箱问题 Swift_TransportException

如何在 WooCommerce 中显示每个自定义选项卡的内容

使用 v-for 的存储链接中的 Img src 在 Laravel vuejs 中不起作用

如何在不复制的情况下在php中重新索引数组