2015-12-05 56 views
2

我想顯示數據的日期之間的日期是05-27和05-29(m-d),而不考慮年份。其中類型日期laravel不考慮年

示例查詢可能看起來像:

employee::whereBetween('birthday', array('05-27', '05-29'))->get(); 

例如,如果我有5個項目: 1989年5月27日,1989年5月29日 , 1992年5月27日,1993年 -05-27, 1993-05-28

應顯示所有項目。這可能嗎 ?

+0

您是否試圖在這些日子之間查找數據庫中的所有記錄,無論年份如何? – Ohgodwhy

+0

是的,先生,有沒有簡單的方法? – randawahyup

回答

1

你可以像這樣創建advanced queries來實現它。

Employee::select('*') 
    ->whereMonth('birthday', '=', '5') 
    ->where(function ($query) { 
     $query->whereDay('birthday', '>=', 27) 
       ->whereDay('birthday', '<=', 29); 
    }) 
    ->get(); 
+0

如何與不同的月份?例如11-30和12-01。 – randawahyup

+0

也許你可以使用閉包就像查詢whereDay不同月份。 – ramadani

+0

不錯..感謝兄弟@kirkBeard – randawahyup

0

在使用日期時總是嘗試使用Carbon

$first = Carbon::create(null,5,27); 
$second = Carbon::create(null,5,29); 
$birthdayBoys = employee::whereBetween('birthday',[$first,$second])->get(); 

編輯

如果您birthday列的數據不是Carbon情況下,在你的Employee模型中加入這一行:

protected $dates = ['birthday'] 

它會自動保存爲Carbon數據庫中你的生日值實例。

相關問題