2015-12-02 202 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(); 
相关问题