Laravel-在一个结果中查询2行条件

Laravel-在一个结果中查询2行条件,laravel,eloquent,Laravel,Eloquent,我需要帮助来进行查询以获取ID,其中特定月份的值介于开始日期和结束日期之间 表格格式是(我不能更改,这不是我的): id |属性| id |值 1 | 24 |“2016-03-01” 1 | 25 |“2020-03-01” 24=开始 25=结束 我试试这个: Model::select('id') ->whereIn('id', $Ids) // Condition A (Since) ->where(function ($condit

我需要帮助来进行查询以获取ID,其中特定月份的值介于开始日期和结束日期之间

表格格式是(我不能更改,这不是我的):

id |属性| id |值
1 | 24 |“2016-03-01”
1 | 25 |“2020-03-01”

  • 24=开始
  • 25=结束
我试试这个:

Model::select('id')
      ->whereIn('id', $Ids)
      // Condition A (Since)
      ->where(function ($conditionA) use ($date) {
        $conditionA->where('attribute_id', 24)
          ->where(function ($q) use ($date) {
            $q->where('value', '<=', $date)->orWhereNull('value');
          })
      })
      // Condition B (Until)
      ->where(function ($conditionB) use ($date) {
        $conditionB->where('attribute_id', 25)
          ->where(function ($q) use ($date) {
            $q->where('value', '>=', $date)->orWhereNull('value');
          })
      })
      ->groupBy('id')
      ->get()
      ->pluck('id');
同时满足开始和结束条件的ID

当我只使用其中一种条件时,它就起作用了

但一起工作是不行的

谢谢你的时间

$result = [1, 3, 5...];