Ver Mensaje Individual
  #10 (permalink)  
Antiguo 03/11/2014, 15:41
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: Generar array con datos de una consulta

Te faltan las comillas de DB::Raw, ese método recibe un unico string con todo lo demas dentro, quimfv escribio la consulta en sql puro, lo que yo hice fue pasarlo a la sintaxis de laravel, el if que te da error no es un if de php, es un if de mysql por eso debe ir entre comillas. seria algo asi:
Código PHP:
Ver original
  1. <?php
  2. $trabajos = DB::table('trabajos')
  3.     ->join('tecnicos', 'trabajos.responsable_diagnostico', '=', 'tecnicos.id')
  4.     ->where('trabajos.created_at', '>=', $desde4, 'and', 'trabajos.created_at', '<=', $hasta4)
  5.     ->select(DB::raw("tecnicos.nombre,
  6.                SUM(if(TIMEDIFF(STR_TO_DATE(CONCAT('trabajos.fecha_egreso', ' ', 'trabajos.hora_egreso'), '%d/%m/%Y %H:%i'),
  7.                    STR_TO_DATE(CONCAT('trabajos.fecha_ingreso', ' ', 'trabajos.hora_ingreso'), '%d/%m/%Y %H:%i'))<'00:30:00',1,0) bien,
  8.                SUM(if(TIMEDIFF(STR_TO_DATE(CONCAT('trabajos.fecha_egreso', ' ', 'trabajos.hora_egreso'), '%d/%m/%Y %H:%i'),
  9.                    STR_TO_DATE(CONCAT('trabajos.fecha_ingreso', ' ', 'trabajos.hora_ingreso'), '%d/%m/%Y %H:%i'))<'00:30:00',0,1) mal)")
  10.             )
  11.     ->groupBy('tecnicos.nombre')
  12.     ->get();
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios