Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Laravel: generar dinámicamente el where de la query

Estas en el tema de Laravel: generar dinámicamente el where de la query en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos, estoy empezando a estudiar Laravel desde cero y quiero generar una query pero que el where se genere dinámicamente a partir de ...
  #1 (permalink)  
Antiguo 15/10/2019, 04:42
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 6 meses
Puntos: 5
Laravel: generar dinámicamente el where de la query

Hola a todos,

estoy empezando a estudiar Laravel desde cero y quiero generar una query pero que el where se genere dinámicamente a partir de los parámetros que se pasen.

Mi código es:

DB::enableQueryLog();

$arrHist = DB::table('historial')
->join('cineastas', 'cineastas.id', '=', 'historial.id_cineasta')
->join('peliculas', 'peliculas.id', '=', 'historial.id_pelicula')
->join('categorias', 'categorias.id', '=', 'historial.id_categoria')
->select('peliculas.titulo as titPelicula', 'cineastas.nombre as nomCineasta', 'categorias.nombre as nomCateg','historial.anno','premiado','historial.i d')
->orderby('titPelicula');


if (isset($anno)) {
$arrHist->where('historial.anno', $anno);
}

if (isset($id_categ)) {
$arrHist->where('historial.id_categoria', $id_categ);
}
$arrHist->get();

dd(DB::getQueryLog());

Al poner el dd(DB::getQueryLog()) me pone que está todo bien, veo que la query se genera como yo quiero y que los parámetros que yo paso son los correctos.

El problema viene en la view a la que le mando arrHist, pongo por ejemplo:

@foreach ($arrHist as $clave=>$valor)
{{ $valor->titPelicula }}
@endforeach

Me da un error que titPelicula no existe. Pongo un {{ dd($valor) }} y no veo dónde están los resultados de la query.

¿Qué estoy haciendo mal?

Muchas gracias
  #2 (permalink)  
Antiguo 15/10/2019, 06:40
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 14 años, 3 meses
Puntos: 20
Respuesta: Laravel: generar dinámicamente el where de la query

Te recomiendo usar scope en el modelo para las busquedas y te evitas poner el if para concatenar la busqueda.
__________________
CHOOO COOO LAAA TEEEEEEEEE

Etiquetas: laravel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:08.