1 Guardar. Nuevas entradas en tablas.

$objeto = new \App\Modelo;

$objeto -> save( );

2 Devuelve todos los valores de la tabla.

return \App\Modelo :: all();

3 Buscar Elemento en Tabla con la Clave Principal

Return \App\Modelo :: final (2);

4 Seleccionar items en tabla en función de Expresión Regular

$objeto = \App\Modelo :: where (‘nombreCampo’,’<‘,1000) -> get();

5 Selección elementos con Expresiones Regulares

$arrayObjeto = \App\Modelo :: where (‘nombreCampo’,’<‘,1000) -> get () TODOS RESULTADOS
$arrayObjeto = \App\Modelo :: where (‘nombreCampo’,’<‘,1000) -> first () PRIMER RESULTADO

6 Se pueden enlazar las condiciones o Expresiones Regulares

$objeto = \App\Modelo :: where(‘campo1’,’<‘,1000) -> where (‘campo2’,’=‘,’texto’) -> get(); TODOS
$objeto = \App\Modelo :: where(‘campo1’,’<‘,1000) -> where (‘campo2’,’=‘,’texto’) -> first(); UNO

7 Se puede contabilizar el número de elementos de la Consulta con: count ($arrayObjeto)

If ( count($arrayObjeto) > 0 ) {
foreach ($arrayObjeto as $objeto) {
echo ‘Objeto: ‘.$objeto->titulo;
}
}

8 Hay dos formas de llamar a los campos de un Objeto. Si el campo contiene símbolos, es preferible usar la segunda forma.

$objeto->title = …
$objeto[‘title’] = …

9 Actualizar un registro es como crearlo de Nuevo. Nos posicionaros en el registro con find(); y lo guardamos con save();

$objeto = \App\Modelo :: find(1);
$objeto->titulo = ‘loquesea’;
….
$objeto->save();

10 Borrar es lo mismo que con la Actualización

$objeto = \App\Modelo :: find(1)->delete();

NOTA:
Son instancias de Modelo update() y delete()
Usando find(1) trabajamos con Instancias de la clase Modelo

11 where() es la sentencia mas importante

where(‘nombreCampo’,’<‘,100) Comparativa numérico
where(‘nombreCampo’,’LIKE’, ‘M%’) Empieza con M
where(‘nombreCampo’,’LIKE’, ‘%M’) Acaba con M
where(‘nombreCampo’,’LIKE’, ‘%dora%’) Incluye cadena de texto dora

NOTA:

El where() sería el bucle if de cualquier lenguaje de programación. Para hacer las comparativas, entra el juego la otra sentencia orwhere() sería el OR o else.

12 orwhere() es para hacer comparaciones alternativas

$objeto = \App\Modelo :: where (‘campo’,’LIKE’,’%M’)->orwhere(‘campo’,’>’,140)->get();

13 query() para consultas mas complejas y elaboradas

$objeto = \App\Modelo :: where (function($query)) {

$query->where(‘campo’,’>’,120)->orwhere(‘campo’,’LIKE’,’%M’)->get();

}

14 whereBetween() Buscar resultados entre valores / rangos

$objeto = \App\Modelo :: whereIn(‘campo’,[100,200])->get();

14 whereIn() Buscar valores dentro de un Array

$objeto = \App\Modelo :: whereIn(‘campo’,[valor1,valor2])->get();

15 whereNull() Buscar resultados entre valores / rangos

$objeto = \App\Modelo :: whereNull(‘campo’)->get();

Nota:

Todas estas cláusulas que acabamos de ver, pueden usar diferentes recursos, para potenciar su uso en búsquedas mas o menos complejas.

>count(); Número de elementos que cumplen la condición / es
->get(); Dame los elementos que te pido
->first(); Dame el primer elemento de la búsqueda
->last(); Dame el último elemento de la búsqueda
->min(‘campo’); Dame el elemento con el campo con el mínimo valor
->max(‘campo’); Dame el elemento con el campo con el máximo valor
->avg(‘precio’); Dame los valores con similar promedio de precio

16 skip(NumElementos) y take(NumElementos) Se pueden usar juntos o por separado. skip(X) salta X elementos en la búsqueda y take(Y), toma Y elementos de la búsqueda / filtro.

$objeto -> \App\Modelo ::skip(10)->take(10)->get();

17 Ordenando resultados con orderBy(), groupBy() y having(). Ordenado por, agrupado por, y contiene…

\App\Modelo :: orderBy(‘campo’,’asc’)->get();
\App\Modelo :: groupBy(‘precio’)->get();
\App\Modelo :: having(‘count’,’>’,20)->get();

18 Generar un registro en una tabla se puede hacer de dos formas aparte del uso de save():

18.1. Usando create( [campo1,campo2] )

$objeto = \App\Modelo :: create([‘campo1’->’esto’,’campo2’->’aquello’]);

18.2. Usando new \App\Modelo

$objeto = new \App\Modelo;
$objeto->campo = ‘loquesea’;

$objeto->save();

Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *