Laravel Collection Tutorial

Laravel Collection Tutorial
Die Laravel -Sammlung ist ein nützliches Merkmal des Laravel -Frameworks. Eine Sammlung funktioniert wie ein PHP -Array, ist aber bequemer. Die Sammelklasse befindet sich in der Illuminate \ Support \ Sammlung Standort. Mit einer Sammlung können Sie eine Methodenkette erstellen, um Arrays zu kartieren oder zu reduzieren. Es ist nicht veränderlich und eine neue Sammlung kehrt zurück, wenn die Sammelmethode aufgerufen wird. Es ist ein API -Wrapper für PHP -Array -Funktionen und eine Sammlung kann aus einem Array erzeugt werden. Dieses Tutorial zeigt Ihnen, wie Sie eine Sammlung in jedem Laravel -Projekt erstellen und verwenden.

Voraussetzung

Sie müssen ein Laravel -Projekt erstellen, bevor Sie dieses Tutorial beginnen. Sie müssen auch Grundkenntnisse über Controller und Routing haben.

Erstellen Sie eine Sammlung

Erstellen Sie den genannten Controller CollectionController und schreiben Sie den erforderlichen Code, um eine neue Sammlung im Controller zu erstellen. Führen Sie den folgenden Befehl aus, um den Controller zu erstellen.

$ Php Artisan Make: Controller CollectionController

Sie können eine Sammlung mit einer Sammelklasse oder der Collect () -Methode erstellen. Beide Wege werden unten gezeigt. Fügen Sie die folgende Zeile oben auf dem hinzu CollectionController Klasse, um die zu verwenden Sammlung Klasse.

// Fügen Sie die Sammlungsklasse hinzu
Verwenden Sie Illuminate \ Support \ Collection;

A. Erstellen Sie die Sammlung mit der Klasse

Erstellen die Collection_class () Methode mit dem folgenden Code innerhalb der CollectionConntroller. Hier wird eine Sammlung von Zahlen mit einer Sammelklasse erstellt. Wenn diese Methode aufgerufen wird, werden die Werte der Sammelvariablen im Browser angezeigt.

public function collection_class ()
// Erstellen Sie eine neue Sammlung mit der Sammlungsklasse
$ collection1 = neue Sammlung ([67,34,89,56,23]);
// den variablen Inhalt im Browser ablegen
DD ($ Collection1);

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen Collection_class ().

Route :: Get ('Collect1', 'CollectionController@collection_class');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/sammel1

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt. Die fünf Nummern der Sammlung werden hier gedruckt.

B. Erstellen Sie die Sammlung mithilfe der Methode

Eine Sammlung kann auch mit dem erstellt werden sammeln() Methode. Fügen Sie Folgendes hinzu sammeln_method () in der CollectionController Erstellen einer Sammlung von Strings mit dem sammeln() Methode. Wenn diese Methode aufgerufen wird, werden die Werte der Sammelvariablen im Browser wie zuvor angezeigt.

öffentliche Funktion Collect_method ()
// Erstellen Sie eine neue Sammlung mit der Methode Collect -Methode
$ Collection2 = sammeln (["gut", "besser", "bestes"]);
// den variablen Inhalt im Browser ablegen
DD ($ Collection2);

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen sammeln_method ().

Route :: Get ('Collect2', 'CollectionController@collect_method');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/sammel2

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt. Die drei Zeichenfolgewerte der Sammlung werden hier gedruckt.

Suchen Sie Daten in der Sammlung

Die Daten können auf verschiedene Weise aus der Sammlung durchsucht werden. Fügen Sie den folgenden Code in den hinzu CollectionController. Zwei Arten der Suche werden im Code angezeigt. Erstens ist eine Sammlung von Kunden definiert und die enthält () Die Methode wird verwendet, um den benannten Kunden zu durchsuchen 'Janifer.'' Als nächstes wird eine Sammlung des mehrdimensionalen Arrays definiert und die Wo() Die Methode wird für zwei Arten der Suche in der Sammlung verwendet. Der erste Wo() Methode wird verwendet, um die Informationen zu durchsuchen, wobei die AUSWEIS Schlüssel enthält den Wert '011176645.'' Der Zweite Wo() Methode wird verwendet, um nach den Informationen zu suchen, wobei die Markierungen von CSE409 Ist 88.

öffentliche Funktionssuche_data ()

// eine Sammlung deklarieren
$ customer = sammeln (['id' => '894673', 'name' => 'Rahman', 'E -Mail' => '[email protected] '],
['id' => '454886', 'Name' => 'Janifer', 'E -Mail' => '[email protected] '],
['id' => '306007', 'Name' => 'Micheal', 'E -Mail' => '[email protected] ']);
// Suche mithilfe der Methode enthält die Methode
if ($ customer-> enthält ('name', 'janifer'))

Echo "Janifer existiert in der Kundenliste.
";

// eine weitere Sammlung deklarieren
$ marks = sammeln ([
['Id' => '011176644', 'marks' => ['CSE401' => 87, 'CSE409' => 88]],
['Id' => '011176645', 'marks' => ['CSE402' => 69, 'CSE409' => 75]],
]);
// mithilfe der WO -Methode suchen
echo $ marks-> Wo ('id', '011176645')."
";
echo $ marks-> wo ('Marks.CSE409 ', 88);

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen search_data ().

Route :: get ('src_collection', 'CollectionController@search_data');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/src_collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Filtersammlungsdaten

Der Filter() Die Methode wird verwendet, um Daten aus der Sammlung zu filtern. Fügen Sie den folgenden Code in hinzu in CollectionController. Eine Sammlung von Produkte wird in dem Code definiert, der den Produktnamen und den Produktnamen und den Preis enthält. Der Filter() Methode wird verwendet, um Daten aus der Sammlung zu filtern, deren Preis Wert ist größer als 4000. Die Sammlung gefilterter Daten wird in ein Array umgewandelt und von der gedruckt für Schleife.

öffentliche Funktion filter_data ()

// eine Sammlung deklarieren
$ products = sammeln ([
['Produkt' => 'HDD', 'Preis' => 6000],
['Produkt' => 'Maus', 'Preis' => 500],
['Produkt' => 'Monitor', 'Preis' => 5000],
['Produkt' => 'Drucker', 'Preis' => 4000],
]);
// Erstellen Sie eine andere Liste nach der Filterung der Daten basierend auf dem Preiswert
$ filter_price = $ products-> filter (Funktion ($ item)
return Data_get ($ item, 'preis')> 4000;
);
// Alle Daten als Array aus der neuen Sammlung lesen
$ filtered = $ filter_price-> alle ();
// Iteriere die Array -Werte mithilfe der Schleife
foreach ($ filtriert als $ value)

Echo "Name:".$ value ['Produkt'].","."Preis: ".$ value ['Preis']."
";

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen filter_data ().

Route :: get ('filter_collection', 'CollectionController@filter_data');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/filter_collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Sammeldaten sortieren

Verschieden Sortieren In Laravel existieren Methoden, um die Sammlungsdaten zu sortieren. Fügen Sie den folgenden Code in den hinzu CollectionController. Eine Sammlung von Büchern ist im Code definiert. Der Sortieren nach() Die Methode wird verwendet, um die Sammeldaten basierend auf dem Schlüssel zu sortierenAutor.'Dann werden die Werte der sortierten Sammlungsvariablen im Browser gedruckt.

öffentliche Funktion sort_data ()
// eine Sammlung deklarieren
$ books = sammeln ([
['Name' => 'Python -Kochbuch: Rezepte für Mastering Python 3',
'Autor' => 'David Beazley'],
['Name' => 'Lernen Sie Python in 1 Tag: Komplette Python -Handbuch mit Beispielen',
'Autor' => 'Krishna Rurngta'],
['Name' => 'Python -Programmierung: Eine Einführung in die Informatik',
'Autor' => 'John M. Zelle '],
['Name' => 'Python Pocket Reference 5ED: Python in der Tasche',
'Autor' => 'Mark Lutz']
]);
// Sortieren Sie die Sammlungsdaten basierend auf dem Autoramen
$ sortEdbook = $ books-> sortby ('Autor');
// den variablen Inhalt im Browser ablegen
DD ($ sortEdbook-> values ​​()-> toArray ());

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen sort_data ().

Route :: get ('sort_collection', 'CollectionController@sort_data');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/sort_collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Daten in Scheiben Sammeln

Ein bestimmter Teil kann aus der Sammlung mit der Kollektion geschnitten werden nehmen() Methode. Fügen Sie den folgenden Code in den hinzu CollectionController. Der nehmen() Die Methode wird im Code verwendet, um eine neue Liste zu erstellen, indem die ersten drei Elemente aus der Sammlung geschnitten werden. Als nächstes die für Loop druckt die Werte der neuen Sammlung aus.

öffentliche Funktion Slice_Data ()
// eine Sammlung deklarieren
$ languages ​​= sammeln (['php', 'bash', 'python', 'java', 'c#', 'c ++']);
// die ersten drei Daten zurückziehen
$ slice = $ languages-> nimm (3);
// iterierende Sammelwerte
foreach ($ Slice als $ value)

echo $ value."";

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen Slice_Data ().

Route :: get ('Slice_Collection', 'CollectionController@Slice_Data');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/slice_collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Finden Sie den Unterschied zwischen zwei Sammlungen

Der diff () Die Methode wird verwendet, um Werte aus der ersten Sammlung zu finden, die in der zweiten Sammlung nicht vorhanden sind. Fügen Sie den folgenden Code im CollectionController hinzu. Hier werden zwei Sammlungsvariablen definiert. Der diff () Die Methode generiert eine neue Sammlung, nachdem die Werte abgerufen wurden Liste1 das existiert nicht in Liste2.

öffentliche Funktion find_diff ()
// zwei Sammlung deklarieren
$ list1 = sammeln (['Notebook', 'Pen', 'Sharpner', 'scale', 'bleistift']);
$ list2 = sammeln (['Bleistift', 'Farbstift', 'Farbpapier', 'Pen']);
// Suchen Sie, welche Daten in List1 vorhanden sind, jedoch nicht in List2
$ newList = $ list1-> diff ($ list2);
// den variablen Inhalt im Browser ablegen
DD ($ NewList);

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen find_diff ().

Route :: get ('diff_collection', 'CollectionController@find_diff');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/diff_collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Flip -Sammeldaten

Der Flip () Die Methode wird verwendet, um den Schlüssel zum Wert und den Wert für den Schlüssel der Sammlung zu erstellen. Fügen Sie den folgenden Code im CollectionController hinzu, um die Funktion der Funktion des Flip () Methode. Eine Sammlung von drei Elementen ist im Code definiert. Der Flip () Die Methode wird auf die Sammlung und die Ausgabe der angewendet Flip () Die Methode wird mit der Verwendung der gedruckt DD () Methode.

öffentliche Funktion flip_data ()
// die Sammlung deklarieren
$ products = sammeln (['name' => 'samsung a40', 'brand' => 'samsung', 'price' => '$ 300']);
// den variablen Inhalt im Browser ablegen
DD ($ products-> flip ());

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen Flip_data ().

Route :: get ('Flip_Collection', 'CollectionController@flip_data');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/flip_collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Die Sammlung abrufen

Der erhalten() Die Methode wird verwendet, um den Wert eines bestimmten Schlüssels aus der Sammlung zu lesen. Fügen Sie den folgenden Code in den hinzu CollectionController. Der Wert der 'Name' Der Schlüssel wird im Code mit der Verwendung des Codes abgerufen erhalten() Methode.

Öffentliche Funktion retrieve_data ()
// die Sammlung deklarieren
$ products = sammeln (['name' => 'samsung a40', 'brand' => 'samsung', 'price' => '$ 300']);
DD ($ products-> get ('name'));

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen Daten abrufen().

Route :: Get ('read_collection', 'CollectionController@retrieve_data');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/read_collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Gruppensammlungsdaten

Der gruppiere nach() Die Methode wird verwendet, um eine neue Sammlung aus einer anderen Sammlung zu erstellen, indem sie basierend auf dem jeweiligen Schlüsselwert gruppieren. Fügen Sie den folgenden Code in den hinzu CollectionController. Der gruppiere nach() Die Methode wird hier verwendet, um eine neue Sammlung zurückzugeben, indem die Werte basierend auf der 'basierend auf dem'Apr' Taste.

Öffentliche Funktion gruppe_data()

public function Group_data ()
$ sales = sammeln ([
['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'));

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen gruppe_data ().

Route :: get ('Group_Collection', 'CollectionController@Group_Data');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/Group_Collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Sammeln von Sammlungsdaten kombinieren

Der implodieren() Die Methode wird verwendet, um bestimmte Schlüsselwerte aus der Sammlung zu kombinieren. Fügen Sie den folgenden Code in den hinzu CollectionController. Der implodieren() Methode wird hier verwendet, um die Werte der zu kombinieren Name Schlüssel der Sammlung mit Raum.

öffentliche Funktion Join_Data ()
// eine Sammlung deklarieren
$ customer = sammeln (['id' => '894673', 'name' => 'Rahman', 'E -Mail' => '[email protected] '],
['id' => '454886', 'Name' => 'Janifer', 'E -Mail' => '[email protected] '],
['id' => '306007', 'Name' => 'Micheal', 'E -Mail' => '[email protected] ']);
// den Wert kombinieren und drucken
DD ($ customer-> implode ('name', "));

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen join_data ().

Route :: get ('join_collection', 'CollectionController@joins_data');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/join_collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Lesen Sie die Sammlungsschlüssel

Der Schlüssel() Die Methode wird verwendet, um eine neue Sammlung mit allen Schlüssel einer anderen Sammlung zu erstellen. Fügen Sie den folgenden Code in den hinzu CollectionController. Die im Code definierte Sammlung enthält verschiedene Arten von Daten als Elemente, z. B. den Wert mit dem numerischen Index, den Wert mit Schlüssel und ein anderes Array.

öffentliche Funktion read_keys ()
// eine Sammlung deklarieren
$ mixdata = sammeln ([
['Website' => 'Google.com ',' type '=>' Suchmaschine '],' Sprache '=>' PHP ',
1234, 'name' => 'fahmida', 'game' => 'pubr', 'color' => 'blau']);
// Drucken Sie die neue Sammlung, die von der Keys () -Methode erzeugt wurde
DD ($ mixdata-> keys ());

Fügen Sie die folgende Route in die hinzu Routen \ Web.Php Datei, um die aufzurufen read_keys ().

Route :: get ('key_collection', 'CollectionController@read_keys');

Geben Sie die folgende URL in den Browser ein, um die Ausgabe zu überprüfen.

http: // localhost: 8000/key_collection

Die folgende Ausgabe wird nach dem Ausführen der URL angezeigt.

Abschluss

Mit der Laravel -Sammlung können Sie viele verschiedene Arten von Aufgaben mit Daten erledigen, z. B. PHP -Arrays. Einige nützliche Methoden der Laravel -Sammlung werden in diesem Tutorial mit sehr einfachem Code erläutert. Eloquent ork ist eine weitere Verwendung der Sammlung in Laravel, die in diesem Tutorial nicht behandelt wird. Eine wichtige Einschränkung der Sammlungsklasse ist, dass sie jedes Mal, wenn eine Methode aufgerufen wird, eine neue Sammlung generiert, weil sie nicht veränderlich ist. Nach dem Lesen dieses Tutorials sollte der Leser jetzt einige grundlegende Verwendungen der Laravel -Sammlung kennenlernen.