データベースにプログラムのリストがあります。各プログラムには、organization_id
そのプログラムが属する と および がstart_date
ありend_date
ます。
私の質問は、2 つの日付が指定され、特定の組織の日付間で開始または日付間で終了するすべてのプログラムを取得する必要がある場合、クエリはどのように見えるかということです。次のクエリは、組織の範囲を超えている (組織に属していない) すべてのプログラムを返します。
<?php
DB::table('programs')
->where('organization_id', $organizationidlist[0])
->whereBetween('start_date', array($start_date, $end_date))
->orWhere(function ($query) use($start_date, $end_date, $organizationidlist) {
$query
->where('organization_id', $organizationidlist[0])
->whereBetween('end_date', array($start_date, $end_date))
;
})
->orderBy('created_at', 'desc')
->get()
;
?>