Laravel eloquent orm 查询使用 orwhere 子句
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);
first orWhere 子句运行良好,但 2nd 不是。这似乎是一个范围问题,即 ()
将你的条件适当分组,应该没问题。
$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);
});
});
您好,我一直在使用这个查询来检索基于 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);
first orWhere 子句运行良好,但 2nd 不是。这似乎是一个范围问题,即 ()
将你的条件适当分组,应该没问题。
$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);
});
});