[英]Laravel eloquent orm query using orwhere clause
嗨,我一直在使用此查询基于orWhere子句检索数据
$q->where('created', $date);
$q->where(function ($query) {
$query->where('gender', 'Male')
->where('age', '>=', 18);
})->orWhere(function($query) {
$query->where('gender', 'Female')
->where('age', '>=', 30);
})->orWhere(function($query) {
$query->where('gender', 'Orthodox')
->where('age', '>=', 35);
第一个orWhere子句运行正常,但是第二个不是。 这似乎是一个范围问题,即带有()的东西
正确分组您的条件,应该没问题。
$q->where('created', $date);
$q->where(function ($query) {
$query->where(function ($query) {
$query->where('gender', 'Male')
->where('age', '>=', 18);
})->orWhere(function ($query) {
$query->where('gender', 'Female')
->where('age', '>=', 30);
})->orWhere(function ($query) {
$query->where('gender', 'Orthodox')
->where('age', '>=', 35);
});
});
使用其他where()
闭包:
$q->where('created', $date);
$q->where(function ($q) {
$q->orWhere(function($query) {
$query->where('gender', 'Male')
->where('age', '>=', 18);
})->orWhere(function($query) {
$query->where('gender', 'Female')
->where('age', '>=', 30);
})->orWhere(function($query) {
$query->where('gender', 'Orthodox')
->where('age', '>=', 35);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.