Php 使用orwhere子句的Laravel雄辩orm查询
嗨,我一直在使用这个查询来检索基于orWhere子句的数据Php 使用orwhere子句的Laravel雄辩orm查询,php,laravel,laravel-5,eloquent,laravel-eloquent,Php,Laravel,Laravel 5,Eloquent,Laravel Eloquent,嗨,我一直在使用这个查询来检索基于orWhere子句的数据 $q->where('created', $date); $q->where(function ($query) { $query->where('gender', 'Male') ->where('age', '>=', 18); })->orWhere(function($query) { $query->where('gender', 'Female')
$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);
第一个或WHERE子句工作正常,但第二个不正常。这似乎是一个范围问题,即()对您的条件进行适当分组,应该可以
$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);
});
});
把你的情况适当地分组,应该会好的
$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);
});
});
使用附加的
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);
});
});
发布完整查询并修复大括号。您可以转储生成的sql查询并从那里开始..发布完整查询并修复大括号。您可以转储生成的sql查询并从那里开始。。