我有一個雄辯的模型,其中有兩列'startdate'和'enddate'。我想顯示當前一週正在進行的所有模型,即「startdate」和「enddate」之間匹配當前任何日期的任何日期。 我第一次嘗試只用這樣的STARTDATE獲得:Laravel:在本週的兩個日期之間獲取模型
$startOfWeek = Carbon::now()->startOfWeek()->startOfDay();
$endOfWeek = Carbon::now()->endOfWeek()->endOfDay();
$modelThisWeek = Model::whereBetween('startdate', [$startOfWeek, $endOfWeek])->get();
但當然,任何開始一個多星期前,但目前仍在進行中(「結束日期」尚未完成),將不顯示向上。
我怎樣纔能有效地獲得本週有效的所有模型?
編輯:所以我有點想要做的(聽起來很愚蠢)是獲取'startdate'和'enddate'之間的所有日期,比如在數組中,例如獲取第二個數組中的所有日期當前一週,並使用像array_intersect並獲得這些模型。我希望我這次更清楚地解釋一下。
編輯2:一些樣本數據和預期結果。
數據在DB:
--------------------------------------------------
| ID | some_other_col | startdate | enddate |
--------------------------------------------------
| 1 | ... | 12. Jan 17 | 20. Feb 17 |
--------------------------------------------------
| 2 | ... | 12. Jan 17 | 18. Jan 17 |
--------------------------------------------------
| 3 | ... | 30. Jan 17 | 04. Feb 17 |
--------------------------------------------------
| 4 | ... | 04. Feb 17 | 07. Feb 17 |
--------------------------------------------------
| 5 | ... | 08. Feb 17 | 10. Feb 17 |
--------------------------------------------------
所以,如果我想所有當前一週內的車型:
29. 1月17日 - 05年02月17
我期待與ID爲1的模型,3,4;
就像在兩個日期(startOfWeek和endOfWeek)內正在進行的所有模型一樣。
你能像'Model :: whereBetween() - > whereBetween() - > get()'那樣調用'whereBetween' 2次嗎? – JustOnUnderMillions
你可以做到這一點,但我只能得到本週startdate和本週enddate的模型。如果開始日期與兩個月前相似,並且結束日期與三週內相似,該怎麼辦? –
這可以幫助一點http://stackoverflow.com/questions/26082043/wherebetween-dates-in-laravel-4-eloquent#26082523我不使用雄辯 - 似乎或WhereBetween可以幫助!? – JustOnUnderMillions