Eloquent - 日期> =日期(现在)和whereNull('日期')

Crn*_*rni 5 php laravel eloquent laravel-5.3

我将从表中获取所有项目,其中endDate是> = now而endDate是NULL并且发布= 1.

这是我的,但给我0项:

$items = Items::orderBy(\DB::raw('RAND()'))
  ->where('endDate', '>=', date("Y-m-d"))
  ->whereNull('endDate')
  ->where('published', '1')
  ->whereIn('cid', $this->activeId)
  ->orderBy('id')
  ->paginate(4);
Run Code Online (Sandbox Code Playgroud)

Ale*_*nin 14

你需要使用一个闭包和orWhereNull():

->where(function($) {
    $q->where('endDate', '>=', date("Y-m-d"))
      ->orWhereNull('endDate');
})
Run Code Online (Sandbox Code Playgroud)