Tutorial de colección de Laravel

Tutorial de colección de Laravel
La colección Laravel es una característica útil del marco de Laravel. Una colección funciona como una matriz PHP, pero es más conveniente. La clase de colección se encuentra en el Illuminate \ Support \ Collection ubicación. Una colección le permite crear una cadena de métodos para mapear o reducir las matrices. No es cambiante y una nueva colección regresa cuando se llama al método de colección. Es un envoltorio API para funciones de matriz 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

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

Crea una colección

Crea el controlador nombrado Colección contratal y escriba 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

Puede 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 Colección contratal clase para usar el recopilación clase.

// Agregar la clase de colección
use iluminate \ support \ colección;

A. Crear colección usando clase

Crear el Collection_class () método con el siguiente código dentro del CollectionConntroller. 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 colección_class ()
// Crear una nueva colección usando la clase de colección
$ colección1 = nueva colección ([67,34,89,56,23]);
// Volcar el contenido variable en el navegador
DD ($ Collection1);

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

Ruta :: get ('Collect1', 'CollectionController@Collection_Class');

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

http: // localhost: 8000/coleccionista1

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

B. Crear colección usando el método

También se puede crear una colección utilizando el recolectar() método. Agregue lo siguiente coleccionar_method () dentro de Colección contratal para crear una colección de cuerdas utilizando el recolectar() 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 recolect_method ()
// Crear una nueva colección utilizando el método de recolección
$ COLLECCE2 = COCACED (["" bueno "," mejor "," mejor "]);
// Volcar el contenido variable en el navegador
DD ($ Collection2);

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

Ruta :: get ('Collect2', 'CollectionController@Collect_method');

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

http: // localhost: 8000/coleccionar2

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

Datos de búsqueda en la recopilación

Los datos se pueden buscar desde la recopilación de múltiples maneras. Agregue el siguiente código dentro del Colección contratal. En el código se muestran dos tipos de búsqueda en el código. Primero, se define una colección de clientes y el contiene() El método se utiliza para buscar al cliente nombrado 'Janifer.' A continuación, se define una colección de la matriz multidimensional y el dónde() El método se utiliza para dos tipos de búsqueda en la colección. La primera 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', 'correo electrónico' => '[email protected] '],
['id' => '454886', 'nombre' => 'Janifer', 'correo electrónico' => '[email protected] '],
['ID' => '306007', 'Nombre' => 'Micheal', 'Correo electrónico' => '[email protected] ']]);
// Buscar usando el método Contiene
if ($ customer-> contiene ('nombre', 'janifer'))

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

// declarar otra colección
$ Marks = Collect ([[
['Id' => '011176644', 'marcas' => ['CSE401' => 87, 'CSE409' => 88]],
['Id' => '011176645', 'marcas' => ['CSE402' => 69, 'CSE409' => 75]],
]);
// Buscar usando el método Where
Echo $ Marks-> Where ('id', '011176645')."
";
Echo $ Marks-> Where ('Marks.CSE409 ', 88);

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

Ruta :: get ('src_collection', 'collectionController@search_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.

Datos de recopilación de filtros

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

función pública filt_data ()

// declarar una colección
$ productos = recolectar ([[
['Producto' => 'HDD', 'Price' => 6000],
['Producto' => 'Mouse', 'Price' => 500],
['Producto' => 'Monitor', 'Price' => 5000],
['Producto' => 'Impresora', 'Price' => 4000],
]);
// Crear otra lista después de filtrar los datos en función del valor del precio
$ filtre_price = $ Products-> Filter (function ($ item)
return data_get ($ item, 'precio')> 4000;
);
// leer todos los datos como matriz de la nueva colección
$ filtred = $ filtre_price-> all ();
// iterando los valores de la matriz usando bucle
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 ().

Ruta :: get ('filtle_collection', 'colección de controlador@filtre_data');

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

http: // localhost: 8000/filtre_collection

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

Datos de recopilación de clasificación

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

función pública sort_data ()
// declarar una colección
$ books = coleccionar ([[
['Nombre' => 'Python Cookbook: Recetas para dominar Python 3',
'Autor' => 'David Beazley'],
['Nombre' => 'Aprenda Python en 1 día: Guía completa de Python con ejemplos',
'Autor' => 'Krishna Rungta'],
['Nombre' => 'Programación de Python: una introducción a la informática',
'Autor' => 'John M. Zelle '],
['Nombre' => 'Referencia de bolsillo de Python 5ed: Python en tu bolsillo',
'Autor' => 'Mark Lutz']
]);
// Ordenar los datos de recopilación basados ​​en el nombre del autor
$ sortedbook = $ books-> sortby ('autor');
// Volcar el contenido variable en el navegador
dd ($ sortedbook-> valores ()-> toArray ());

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

Ruta :: get ('sort_collection', 'CollectionController@sort_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

Se puede cortar una porción en particular de la colección utilizando el llevar() método. Agregue el siguiente código en el Colección contratal. El 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 para Loop imprime los valores de la nueva colección.

función pública slice_data ()
// declarar una colección
$ lenguaje = coleccionar (['php', 'bash', 'python', 'java', 'c#', 'c ++']);
// retrocede los tres primeros datos
$ slice = $ lenguaje-> tomar (3);
// iterando valores de colección
foreach ($ slice como $ valor)

Echo $ valor."";

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

Ruta :: get ('slice_collection', 'collectionController@slice_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.

Encuentra la diferencia entre dos colecciones

El diff () El método se utiliza para encontrar valores de la primera colección que no existen en la segunda colección. Agregue el siguiente código en CollectionController. Dos variables de recolección se definen aquí. El diff () El método genera una nueva colección después de recuperar los valores de Lista1 que no existen en Lista2.

función pública find_diff ()
// declarar dos colecciones
$ list1 = coleccionar (['cuaderno', 'pluma', 'sharkner', 'escala', 'lápiz']);
$ list2 = coleccionar (['lápiz', 'lápiz de color', 'papel de color', 'pluma']);
// Encuentra qué datos existen en List1 pero no en List2
$ newList = $ list1-> diff ($ list2);
// Volcar el contenido variable en el navegador
DD ($ NewList);

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

Ruta :: get ('diff_collection', 'CollectionController@find_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.

Datos de recopilación de flip

El voltear() 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 de la voltear() método. Una colección de tres elementos se define en el código. El voltear() El método se aplica a la colección y la salida del voltear() El método se imprime utilizando el dd () método.

función pública flip_data ()
// Declarar la colección
$ Products = Collect (['Name' => 'Samsung A40', 'Brand' => 'Samsung', 'Price' => '$ 300']);
// Volcar el contenido variable en el navegador
dd ($ productos-> flip ());

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

Ruta :: get ('Flip_Collection', 'CollectionController@flip_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

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

Función pública Remieve_Data ()
// Declarar la colección
$ Products = Collect (['Name' => 'Samsung A40', 'Brand' => 'Samsung', 'Price' => '$ 300']);
dd ($ productos-> get ('nombre'));

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

Ruta :: get ('read_collection', 'CollectionController@Remieve_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

El agrupar por() El método se utiliza para crear una nueva colección de otra colección mediante la agrupación basada en el valor clave particular. Agregue el siguiente código dentro del Colección contratal. El agrupar por() El método se utiliza aquí para devolver una nueva colección agrupando los valores basados ​​en el 'Abr' llave.

función pública Group_data()

función pública group_data ()
$ ventas = recolectar ([[
['Jan' => 100000],
['Mar' => 500000],
['Apr' => 600000],
['Jan' => 450000],
['Jun' => 230000],
['Aug' => 600000],
['SEP' => 789333],
['Jul' => 452000],
['Jan' => 700000],
['Apr' => 490000],
['Jun' => 670000],
['Apr' => 560000]
]);
DD ($ Sales-> Groupby ('APR'));

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

Ruta :: get ('group_collection', 'CollectionController@group_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

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

función pública uno_data ()
// declarar una colección
$ Customer = Collect ([['id' => '894673', 'name' => 'rahman', 'correo electrónico' => '[email protected] '],
['id' => '454886', 'nombre' => 'Janifer', 'correo electrónico' => '[email protected] '],
['ID' => '306007', 'Nombre' => 'Micheal', 'Correo electrónico' => '[email protected] ']]);
// Combinar e imprimir el valor
dd ($ customer-> implose ('name', "));

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

Ruta :: get ('Join_collection', 'CollectionController@Join_data');

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

http: // localhost: 8000/boin_collection

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

Lea las teclas de recopilación

El 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 Colección contratal. La colección definida en el código contiene diferentes tipos de datos como elementos, como el valor con el índice numérico, el valor con la clave y otra matriz.

función pública read_keys ()
// declarar una colección
$ mixdata = coleccionar ([[
['Sitio web' => 'Google.com ',' type '=>' Search Engine '],' Language '=>' Php ',
1234, 'name' => 'fahmida', 'juego' => 'pubg', 'color' => 'azul']);
// Imprima 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 ().

Ruta :: get ('key_collection', 'CollectionController@read_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 recopilación de Laravel le permite hacer muchos tipos diferentes de tareas con datos, como las matrices de PHP. Algunos métodos útiles de colección de Laravel se explican en este tutorial utilizando un código muy simple. Eloquent Orm es otro uso de la colección en Laravel que no está cubierta en este tutorial. Una limitación importante de la clase de recolección es que genera una nueva colección cada vez que se llama un método porque no es mutable. Después de leer este tutorial, el lector ahora debe conocer algunos usos básicos de la colección Laravel.