¿Como convertir un datetime a date con formato (´d-m-y’) haciendo un select con query builder en laravel?

publicado por: Anonymous

Tengo el siguiente código quiero retornar la fecha que se encuentra en mi base de datos mysql en formato datetime. ¿Como lo convierto a date y darle formato desde un select en query builder con laravel?.

public function fecha(){
$fechas= DB::table('detail_books')->select('DATE_FORMAT('fechallegada','%d-%m-%Y')')->get();
return view("factura",compact('fechas'));
}

Sin embargo obtengo error en el select.

Saludos

solución

Error de sintaxis

Prueba con esto:

 public function fecha(){
    $fechas= DB::table('detail_books')->select("DATE_FORMAT(fechallegada,'%d-%m-%Y')")->get();
    return view("factura",compact('fechas'));
  }

Al usar la combinación de comillas simples en la siguiente sentencia está generando el error.

'DATE_FORMAT('fechallegada','%d-%m-%Y')'

Debes probar reemplezando por:

"DATE_FORMAT(fechallegada,'%d-%m-%Y') as fechallegada"

Actualización

Debes usar selectRaw para formatear desde la consulta. El código debe quedar como sigue:

public function fecha(){ 
$fechas= DB::table('detail_books')->selectRaw("DATE_FORMAT(fechallegada,'%d-%m-%Y')")->get(); 
return view("factura",compact('fechas')); 
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *