使用MySQL,我可以使用这样的YEAR()
函数来根据WHERE
子句中日期字段的年份进行筛选:
SELECT noworkorder FROM workorders WHERE YEAR(date)=2015;
在Laravel中,我当然可以用一个原始的表达来实现同样的事情:
$data = DB::table('workorders')
->select('noworkorder')
->where(DB::raw('YEAR(date)=2015'))
->orderby('noworkorder', 'desc')
->get();
但是,有没有一种方法可以在没有原始表达式的情况下做到这一点?
查询生成器有一个whereYear
方法:
$data = DB::table('workorders')
->select('noworkorder')
->whereYear('date', '=', 2015)
->orderby('noworkorder', 'desc')
->get();