我有这样的桌子

|----|--------|------------|--------|
| id | UserID |  ExpDate   | isUsed |
|----|--------|------------|--------|
| 1  |  1265  | 2019-09-08 |   0    |
|----|--------|------------|--------|
| 2  |  1265  | 2019-08-28 |   0    |
|----|--------|------------|--------|
| 3  |  1265  |    null    |   0    |
|----|--------|------------|--------|
| 4  |  1265  |    null    |   1    |
|----|--------|------------|--------|
| 5  |  1582  | 2019-09-07 |   0    |
|----|--------|------------|--------|
  .      .          .          .
  .      .          .          .
  .      .          .          .


我想选择User=1265和isUsed=0的行(ExpDate>2019-09-05或ExpDate=null)
如何用拉勒维尔雄辩的口才做出这些选择?
我在下面尝试过,但它选择了表上所有大于2019-09-05行的ExpDate。未按用户ID筛选
       Hak::whereNull('ExpDate')
            ->orWhere('ExpDate', '>', '2019-09-05')
            ->where('UserID', 23)
            ->get()

最佳答案

你可以试试下面的。

Hak::where(function($query){
    $query->whereNull('ExpDate')->orWhere('ExpDate', '>', '2019-09-05');
})->where(['User'=>1265, 'isUsed' => 0])->get();

10-07 23:45