Anuncio

Entra a participar en el Slack de Laraveles. Solicita tu invitación aquí.
Nos ayuda a manter la comunidad

#1 31/07/2018 10:00:47

jcamacho
Miembro
Registrado: 20/07/2018
Mensajes: 6

cosulta de buenas practicas

buenos días amigos, me gustaría preguntarles cual son las mejores practicas para hacer un query en un controlador.    Tengo como un mes viendo el framework!!! y aunque por internet te explican como hacerlo de distintas maneras para conectarse en una base de datos no te dicen cual es la mejor practica con la cual se debería hacer... hay veces que los query que requiero son muy complejos y me es mas fácil colocarlo exactamente con el sql a ponerme a traducirlo de la otra manera me explico...  ejemplo:

1ra manera de colocarlo cuando son complejos:

  $sql = "SELECT ve.visitaxeje_id as id, u.name as ejecutivo, l.nombre as lugar, GROUP_CONCAT(b.nombre SEPARATOR ' | ') as bloque
                        FROM visitas as v,visitaxejecutivo as ve,visejexbloques as vp, users as u, lugares as l, bloques as b, tiendas as t
                        WHERE v.visita_id=ve.visita_id and ve.visitaxeje_id = vp.visitaxeje_id and ve.user_id=u.id and ve.lugar_id=l.lugar_id and vp.bloque_id=b.bloque_id and v.tiendas_id=t.tiendas_id and v.user_id= ".(Auth::user()->id)." and CAST(v.fecha_inicio AS DATE) = '".date('Y-m-d', strtotime($Regvisita->fecha_inicio))."' and v.tiendas_id= ".$Regvisita->tiendas_id."  GROUP BY u.name, l.nombre,ve.visitaxeje_id order by u.name, l.nombre";

            $visitaejec = DB::select(DB::raw($sql)); 

2do cuando no tengo el modelo en el controlador:

$Regvisita = DB::table('visitas')
                    ->select('tiendas_id','fecha_inicio')
                    ->where('visita_id', $id)->first();

3ero cuando tengo el modelo pero es muy sencillo

$clientes=Cliente::all();

estoy haciendo las cosas de la mejor manera?  que debería tomar en cuenta para un futuro proyecto?.  me gustaría saber alguna opinión pero no que me mande a buscar manuales.... creo que esto no se sabe con manuales sino con experiencia y saber que es lo mejor de hacer y cuando hacerlo para aquellos que ya tienen mucho tiempo programando en laravel.

Desconectado

#2 31/07/2018 18:08:38

hheredia
Administrador
Localidad: this.location
Registrado: 16/06/2014
Mensajes: 1.408
Sitio web

Re: cosulta de buenas practicas

En realidad todas las opciones son validas, por ejemplo yo comienza usando los modelos, luego el query builder y si la consulta es muy compleja utilizo consultas nativas. También procuro que las consultas no queden directamente en el controller, las traslado a otros elementos, como el modelo, o algun servicio.


Saludos!.
Well, there is in fact a single purpose for all software: To help people

Desconectado

#3 31/07/2018 18:33:05

jcamacho
Miembro
Registrado: 20/07/2018
Mensajes: 6

Re: cosulta de buenas practicas

gracias amigo...

Última edición por jcamacho (31/07/2018 18:36:17)

Desconectado

Pié de página <- REVISAR ->

Powered by FluxBB

Ayuda a mantener la comunidad: