为什么我不能使用别名?使用原始LARAVEL

时间:2017-10-19 22:23:23

标签: database laravel eloquent

问题是,别名fechas没有任何价值......我无法使用它

>    $tabla_c2 = DB::table('horarios')
>     ->select('id_voluntario',DB::raw("DATE_FORMAT(fecha,'%y-%m-%d')as fechas"))
>     ->where('id_voluntario','=', $temp)
>     ->where('fechas','=', $datee)
>     ->get();

1 个答案:

答案 0 :(得分:1)

正如评论中所讨论的,这是SQL限制 - 您不能在where子句中使用别名

@ljubadr建议的一种解决方法是使用having代替 - 尽管我会支持@Jeffrey,并说它会不必要地使你的查询变慢。

您可以使用whereRaw()

,而不是使用别名
$tabla_c2 = DB::table('horarios')
 ->select('id_voluntario',DB::raw("DATE_FORMAT(fecha,'%y-%m-%d')as fechas"))
 ->where('id_voluntario','=', $temp)
 ->whereRaw("DATE_FORMAT(fecha,'%y-%m-%d') = ?", $datee)
 ->get();

请参阅Eloquent Aggregates下的docs