2015-12-02 252 views
1

我有一個表,其中有一個列有事件日期如何檢查日期是否大於今天的日期Laravel5

但列的類型是varchar。

日期被保存在DD-MM-YY

現在我希望得到其日期在今天的日期更大的所有事件的形式。

我的代碼,亙古不變的工作看起來像這樣

$cat=Event::where('date','>=',date('d-m-Y'))->get(); 

但它不工作是讓我所有的事件

任何幫助,將不勝感激

感謝

+1

使用適當的日期類型,而不是varchar。 – CBroe

+0

[This](http://stackoverflow.com/questions/28109179/getting-current-date-time-day-in-laravel)應該幫助你,我想。 – KuKeC

+0

@CBroe我知道兄弟我正在更新一些其他人的設計網站, – Vikram

回答

1

如果您columntype是日期,你可以使用Carbon:

use \DateTimeZone; 
use Carbon\Carbon; 
use App\BlogVideo; 

$today = Carbon::now(new DateTimeZone('Europe/Rome')); 
Event::where('date','>=',$today)->get(); 
+0

我不認爲它會工作 –

+0

相信我,它的工作:) –

+0

剛剛檢查這個值它不工作:)('01 -01-2015'> '01 -02-2014')它返回false; –

0

如果列爲varchar類型,則除了將列數據類型更改爲datedatetime以外,不能執行任何操作。然後,請執行以前的操作:

Event::where('date','>=', new \DateTime('now'))->get(); 
相關問題