php - laravel eloquent 如何使用多个“和”进行查询?
问题描述
我有这个查询:
SELECT *
FROM `groups`
WHERE `status` = 1
AND `active` != 1
AND (`approved` != 1 OR `approved` IS NULL)
我在查询生成器中尝试了这个,但不知道如何正确地做到这一点
这是我的查询生成器:
Group::where([['status', '=', 1], ['active', '!=', 1]])
->where([['approved', '!=', 1]])
->orWhereNull()
->get();
解决方案
您应该使用 where 和 Closure 来对参数进行分组。https://laravel.com/docs/5.7/queries#parameter-grouping
$data = Group::where(function($query){
$query
->where('approved', '!=', 1)
->orWhereNull('approved');
})
->where('status', 1)
->where('active', '!=', 1)
->get();
推荐阅读
- c++ - 执行以下 2 段代码是否消耗相同的内存
- xamarin - Lottie animationView 在我更改源后没有在 XamarinForms 中播放
- typescript - 如何根据类型化对象数组中的值限制类型?
- java - Vaadin 流空视图
- angular - 缺少:cordova-android@6.3.0
- angular - 在 Angular/TypeScript 中编写字符串助手
- php - 无法使用 remi-php72 repo 在 Centos 7.6.1810 上加载动态库 'zip.so'
- apache-kafka - 如何在 Flink 程序中获取 Kafka 消费者偏移量信息
- java - 如何保存从图库中挑选的图像?
- python - 将元组从列表附加到另一个并打印的问题