laravel

Tutorial de la colección Laravel

Tutorial de la colección Laravel
La colección Laravel es una característica útil del marco Laravel. Una colección funciona como una matriz PHP, pero es más conveniente. La clase de colección se encuentra en el Iluminar \ Soporte \ Colección localización. Una colección le permite crear una cadena de métodos para mapear o reducir matrices. No se puede cambiar y una nueva colección regresa cuando se llama al método de colección. Es un contenedor de API para funciones de matriz de PHP y se puede generar una colección a partir de una matriz. Este tutorial le muestra cómo crear y usar una colección en cualquier proyecto de Laravel.

Requisito previo

Debes crear un proyecto de Laravel antes de comenzar este tutorial. También debe tener un conocimiento básico de controlador y enrutamiento.

Crear una colección

Crea el controlador llamado CollectionController y escribe el código necesario para crear una nueva colección dentro del controlador. Ejecute el siguiente comando para crear el controlador.

$ php artisan make: controller CollectionController

Puedes crear una colección usando una clase de colección o el método collect (). Ambas formas se muestran a continuación. Agregue la siguiente línea en la parte superior del CollectionController clase para usar el colección clase.

// Agrega la clase de colección
utilice Illuminate \ Support \ Collection;

A. Crear colección usando clase

Crea el clase_coleccion () método con el siguiente código dentro del Colección Controlador. Aquí, se crea una colección de números con una clase de colección. Cuando se llama a este método, los valores de la variable de colección se mostrarán en el navegador.

función pública collection_class ()
// Crea una nueva colección usando la clase Collection
$ colección1 = nueva colección ([67,34,89,56,23]);
// volcar el contenido de la variable en el navegador
dd ($ colección1);

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al clase_coleccion ().

Route :: get ('collect1', '[email protected] _class');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / collect1

La siguiente salida aparecerá después de ejecutar la URL. Los cinco números de la colección están impresos aquí.

B. Crear colección usando el método

También se puede crear una colección utilizando el recoger() método. Agregue lo siguiente método_colectar () dentro de CollectionController para crear una colección de cadenas usando el recoger() método. Cuando se llama a este método, los valores de la variable de colección se mostrarán en el navegador, como antes.

función pública collect_method ()
// Crea una nueva colección usando el método collect
$ colección2 = recopilar (["Bueno", "Mejor", "Mejor"]);
// volcar el contenido de la variable en el navegador
dd ($ colección2);

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al método_colectar ().

Route :: get ('collect2', '[email protected] _method');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / collect2

La siguiente salida aparecerá después de ejecutar la URL. Los tres valores de cadena de la colección se imprimen aquí.

Buscar datos en la colección

Los datos se pueden buscar en la colección de varias formas. Agregue el siguiente código dentro del CollectionController. En el código se muestran dos tipos de búsqueda. Primero, se define una colección de clientes, y el contiene () El método se utiliza para buscar al cliente llamado 'Janifer.' A continuación, se define una colección de la matriz multidimensional y dónde() El método se utiliza para dos tipos de búsqueda en la colección. El primero dónde() El método se utiliza para buscar la información, donde el IDENTIFICACIÓN la clave contiene el valor «011176645.' El segundo dónde() El método se utiliza para buscar la información donde el marcas de CSE409 es 88.

función pública search_data ()

// Declarar una colección
$ customer = collect ([['id' => '894673', 'name' => 'Rahman', 'email' => '[email protected]'],
['id' => '454886', 'name' => 'Janifer', 'email' => '[email protected]'],
['id' => '306007', 'name' => 'Micheal', 'email' => '[email protected]']]);
// Buscar usando el método contains
if ($ cliente-> contiene ('nombre', 'Janifer'))

echo "Janifer existe en la lista de clientes.
";

// Declarar otra colección
$ marcas = recolectar ([
['ID' => '011176644', 'marcas' => ['CSE401' => 87, 'CSE409' => 88]],
['ID' => '011176645', 'marcas' => ['CSE402' => 69, 'CSE409' => 75]],
]);
// Busca usando el método where
echo $ marcas-> donde ('ID', '011176645')."
";
echo $ marcas-> donde ('marcas.CSE409 ', 88);

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al datos_búsqueda ().

Route :: get ('src_collection', '[email protected] _data');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / src_collection

La siguiente salida aparecerá después de ejecutar la URL.

Filtrar datos de recopilación

La filtrar() El método se utiliza para filtrar datos de la colección. Agregue el siguiente código en CollectionController. Una coleccion de productos se define en el código que contiene el nombre y el precio del producto. La filtrar() El método se utiliza para filtrar datos de cuya colección precio el valor es mayor que 4000. La recopilación de datos filtrados se convierte en una matriz y la imprime el por círculo.

función pública filter_data ()

// Declarar una colección
$ productos = recolectar ([
['producto' => 'HDD', 'precio' => 6000],
['producto' => 'Ratón', 'precio' => 500],
['producto' => 'Monitor', 'precio' => 5000],
['producto' => 'Impresora', 'precio' => 4000],
]);
// Cree otra lista después de filtrar los datos según el valor del precio
$ filter_price = $ productos-> filter (function ($ item)
return data_get ($ artículo, 'precio')> 4000;
);
// Leer todos los datos como una matriz de la nueva colección
$ filtrado = $ filter_price-> all ();
// Iterando los valores de la matriz usando loop
foreach ($ filtrado como $ valor)

echo "Nombre:".$ valor ['producto'].","."Precio: ".$ valor ['precio']."
";

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al filter_data ().

Route :: get ('filter_collection', '[email protected] _data');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / filter_collection

La siguiente salida aparecerá después de ejecutar la URL.

Ordenar datos de recopilación

Varios clasificar existen métodos en Laravel para ordenar los datos de la colección. Agregue el siguiente código en el CollectionController. Una colección de libros se define en el código. La Ordenar por() El método se utiliza para clasificar los datos de la colección en función de la clave 'autor.Luego, los valores de la variable de colección ordenada se imprimen en el navegador.

función pública sort_data ()
// Declarar una colección
$ libros = coleccionar ([
['name' => 'Python Cookbook: Recetas para dominar Python 3',
'author' => 'David Beazley'],
['name' => 'Aprenda Python en 1 día: Guía completa de Python con ejemplos',
'author' => 'Krishna Rungta'],
['name' => 'Programación Python: Introducción a las Ciencias de la Computación',
'author' => 'John M. Zelle '],
['name' => 'Python Pocket Reference 5ed: Python in Your Pocket',
'author' => 'Mark Lutz']
]);
// Ordenar los datos de la colección según el nombre del autor
$ sortedBook = $ libros-> sortBy ('autor');
// volcar el contenido de la variable en el navegador
dd ($ libro ordenado-> valores () -> toArray ());

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al sort_data ().

Route :: get ('sort_collection', '[email protected] _data');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / sort_collection

La siguiente salida aparecerá después de ejecutar la URL.

Datos de recopilación de cortes

Una porción particular se puede cortar de la colección usando el llevar() método. Agregue el siguiente código en el CollectionController. La llevar() El método se usa en el código para crear una nueva lista cortando los primeros tres elementos de la colección. A continuación, el por loop imprime los valores de la nueva colección.

función pública slice_data ()
// Declarar una colección
$ idiomas = recopilar (['PHP', 'Bash', 'Python', 'Java', 'C #', 'C ++']);
// Recuperar los primeros tres datos
$ segmento = $ idiomas-> tomar (3);
// Iterando valores de colección
foreach ($ segmento como $ valor)

echo $ valor."";

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al slice_data ().

Route :: get ('slice_collection', '[email protected] _data');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / slice_collection

La siguiente salida aparecerá después de ejecutar la URL.

Encuentre la diferencia entre dos colecciones

La diff () El método se utiliza para buscar valores de la primera colección que no existen en la segunda colección. Agregue el siguiente código en CollectionController. Aquí se definen dos variables de colección. La diff () El método genera una nueva colección después de recuperar los valores de list1 que no existen en list2.

función pública find_diff ()
// Declarar dos colecciones
$ list1 = collect (['Cuaderno', 'Bolígrafo', 'Sacapuntas', 'Escala', 'Lápiz']);
$ list2 = collect (['Lápiz', 'Lápiz de color', 'Papel de color', 'Bolígrafo']);
// Encuentra qué datos existen en list1 pero no en list2
$ nuevaLista = $ lista1-> diff ($ lista2);
// volcar el contenido de la variable en el navegador
dd ($ newList);

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al find_diff ().

Route :: get ('diff_collection', '[correo electrónico protegido] _diff');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / diff_collection

La siguiente salida aparecerá después de ejecutar la URL.

Voltear los datos de la colección

La dar la vuelta() El método se utiliza para hacer la clave del valor y el valor de la clave de la colección. Agregue el siguiente código en CollectionController para verificar la función del dar la vuelta() método. Una colección de tres elementos se define en el código. La dar la vuelta() El método se aplica a la colección y la salida del dar la vuelta() El método se imprime utilizando el dd () método.

función pública flip_data ()
// Declarar la colección
$ productos = recolectar (['nombre' => 'Samsung A40', 'marca' => 'Samsung', 'precio' => '$ 300']);
// volcar el contenido de la variable en el navegador
dd ($ productos-> flip ());

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al flip_data ().

Route :: get ('flip_collection', '[email protected] _data');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / flip_collection

La siguiente salida aparecerá después de ejecutar la URL.

Recuperar la colección

La obtener() El método se utiliza para leer el valor de una clave particular de la colección. Agregue el siguiente código en el CollectionController. El valor de la 'nombre' La clave se recupera en el código utilizando el obtener() método.

Función pública retrieve_data ()
// Declarar la colección
$ productos = recolectar (['nombre' => 'Samsung A40', 'marca' => 'Samsung', 'precio' => '$ 300']);
dd ($ productos-> get ('nombre'));

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al recuperar datos().

Route :: get ('read_collection', '[email protected] _data');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / read_collection

La siguiente salida aparecerá después de ejecutar la URL.

Datos de recopilación de grupos

La agrupar por() El método se utiliza para crear una nueva colección a partir de otra colección agrupando según el valor de clave particular. Agregue el siguiente código dentro del CollectionController. La agrupar por() El método se usa aquí para devolver una nueva colección agrupando los valores basados ​​en el 'abr' clave.

función pública group_data()

public function group_data ()
$ ventas = cobrar ([
['Jan' => 100000],
['Mar' => 500000],
['Abr' => 600000],
['Jan' => 450000],
['Jun' => 230000],
['Ago' => 600000],
['Sep' => 789333],
['Jul' => 452000],
['Jan' => 700000],
['Abr' => 490000],
['Jun' => 670000],
['Abr' => 560000]
]);
dd ($ ventas-> groupBy ('Abr'));

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al group_data ().

Route :: get ('group_collection', '[email protected] _data');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / group_collection

La siguiente salida aparecerá después de ejecutar la URL.

Combinar datos de recopilación

La implosionar () El método se utiliza para combinar valores clave particulares de la colección. Agregue el siguiente código dentro del CollectionController. La implosionar () El método se utiliza aquí para combinar los valores de la nombre clave de la colección con espacio.

función pública join_data ()
// Declarar una colección
$ customer = collect ([['id' => '894673', 'name' => 'Rahman', 'email' => '[email protected]'],
['id' => '454886', 'name' => 'Janifer', 'email' => '[email protected]'],
['id' => '306007', 'name' => 'Micheal', 'email' => '[email protected]']]);
// Combinar e imprimir el valor
dd ($ cliente-> implosión ('nombre', "));

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al join_data ().

Route :: get ('join_collection', '[email protected] _data');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / join_collection

La siguiente salida aparecerá después de ejecutar la URL.

Leer claves de colección

La llaves() El método se utiliza para crear una nueva colección con todas las claves de otra colección. Agregue el siguiente código dentro del CollectionController. La colección definida en el código contiene diferentes tipos de datos como elementos, como el valor con índice numérico, el valor con clave y otra matriz.

función pública read_keys ()
// Declarar una colección
$ mixdata = recopilar ([
['sitio web' => 'google.com ',' type '=>' motor de búsqueda '],' language '=>' PHP ',
1234, 'nombre' => 'Fahmida', 'juego' => 'PUBG', 'color' => 'azul']);
// Imprime la nueva colección generada por el método keys ()
dd ($ mixdata-> keys ());

Agregue la siguiente ruta en el rutas \ web.php archivo para llamar al read_keys ().

Route :: get ('key_collection', '[email protected] _keys');

Ingrese la siguiente URL en el navegador para verificar la salida.

http: // localhost: 8000 / key_collection

La siguiente salida aparecerá después de ejecutar la URL.

Conclusión

La colección Laravel le permite realizar muchos tipos diferentes de tareas con datos, como matrices PHP. Algunos métodos útiles de Laravel Collection se explican en este tutorial utilizando un código muy simple. Eloquent ORM es otro uso de la colección en Laravel que no se cubre en este tutorial. Una limitación importante de la clase de colección es que genera una nueva colección cada vez que se llama a un método porque no es mutable. Después de leer este tutorial, el lector debería conocer algunos usos básicos de la colección Laravel.

El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...
El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...
Cómo invertir la dirección de desplazamiento del mouse y los paneles táctiles en Windows 10
Ratón y Panel táctils no solo facilitan la informática, sino que también hacen que sea más eficiente y requieran menos tiempo. No podemos imaginar una...