在MySQL中,我可以使用 YEAR() 这样的函数按WHERE子句中日期字段的年份进行过滤:

SELECT noworkorder FROM workorders WHERE YEAR(date)=2015;

在Laravel中,我当然可以使用raw expression实现相同的目的:
$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();

关于php - Laravel查询生成器中的MySQL YEAR()等效项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33534677/

10-11 22:57