MySQL YEAR() 在 Laravel query builder 中等效

2022-08-30 15:42:21

使用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();

但是有没有办法在没有原始表达式的情况下做到这一点?


答案 1

查询生成器具有一个 whereYear 方法:

$data = DB::table('workorders')
   ->select('noworkorder')
   ->whereYear('date', '=', 2015)
   ->orderby('noworkorder', 'desc')
   ->get();

答案 2

推荐