我无法设置这样的负面条件:
WHERE NOT( "last_day" "<=" $first_day OR "first_day" "<=" $last_day)
我的查询构建器看起来像这样的 atm:
$query = $query->where(function ($query) use ($first_day, $last_day) {
$query->where('last_day', '<=', $first_day);
$query->orWhere('first_day', '<=', $last_day);
});
我希望它是这样的:
$query = $query->whereNot(function ($query) use ($first_day, $last_day) {
$query->where('last_day', '<=', $first_day);
$query->orWhere('first_day', '<=', $last_day);
});
回顾一下:我想要一个否定 WHERE 条件中的 OR 语句。我怎样才能做到这一点?
来源:http://baodad.blogspot.nl/2014/06/date-range-overlap.html
最佳答案
你可以玩逻辑
$query = $query->where(function ($query) use ($first_day, $last_day) {
$query->where('last_day', '>', $first_day);
$query->where('first_day', '>', $last_day);
});
关于php - Laravel/Eloquent WHERE NOT SUBQUERY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43215081/