Tutorial della collezione Laravel

Tutorial della collezione Laravel
La collezione Laravel è una caratteristica utile del framework Laravel. Una collezione funziona come un array PHP, ma è più conveniente. La classe di raccolta si trova nel file Illuminate \ Support \ Collection posizione. Una raccolta consente di creare una catena di metodi per mappare o ridurre gli array. Non è modificabile e una nuova raccolta ritorna quando si chiama il metodo di raccolta. È un involucro API per le funzioni dell'array PHP e una raccolta può essere generata da un array. Questo tutorial mostra come creare e utilizzare una raccolta in qualsiasi progetto Laravel.

Prerequisito

È necessario creare un progetto Laravel prima di iniziare questo tutorial. Devi anche avere una conoscenza di base del controller e del routing.

Crea una collezione

Crea il controller chiamato CollectionController e scrivere il codice necessario per creare una nuova raccolta all'interno del controller. Esegui il comando seguente per creare il controller.

$ PHP Artisan Make: Controller CollectionController

È possibile creare una raccolta utilizzando una classe di raccolta o il metodo Collect (). Entrambi i modi sono mostrati di seguito. Aggiungi la riga seguente nella parte superiore del CollectionController classe per usare il collezione classe.

// Aggiungi la classe di raccolta
Usa Illuminate \ Support \ Collection;

UN. Crea la raccolta usando la classe

Creare il collection_class () metodo con il seguente codice all'interno del CollectionConnTroller. Qui, una raccolta di numeri viene creata con una classe di raccolta. Quando viene chiamato questo metodo, i valori della variabile di raccolta verranno mostrati nel browser.

Funzioni pubbliche Collection_Class ()
// crea una nuova collezione utilizzando la classe di raccolta
$ raccolta1 = nuova raccolta ([67,34,89,56,23]);
// scarica il contenuto variabile nel browser
dd ($ collection1);

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il collection_class ().

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

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/collect1

La seguente uscita apparirà dopo aver eseguito l'URL. I cinque numeri della collezione sono stampati qui.

B. Crea la raccolta usando il metodo

Una raccolta può anche essere creata utilizzando il raccogliere() metodo. Aggiungi quanto segue collect_method () dentro il CollectionController Per creare una raccolta di stringhe usando il raccogliere() metodo. Quando viene chiamato questo metodo, i valori della variabile di raccolta verranno mostrati nel browser, come prima.

funzione pubblica collect_method ()
// crea una nuova raccolta utilizzando il metodo di raccolta
$ collection2 = collect (["Good", "Better", "Best"]);
// scarica il contenuto variabile nel browser
dd ($ collection2);

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il collect_method ().

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

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/collect2

La seguente uscita apparirà dopo aver eseguito l'URL. I tre valori di stringa della raccolta sono stampati qui.

Cerca i dati in raccolta

I dati possono essere cercati dalla raccolta in più modi. Aggiungi il seguente codice all'interno del CollectionController. Nel codice sono mostrati due tipi di ricerca. Innanzitutto, è definita una raccolta di clienti e il contiene () Il metodo viene utilizzato per cercare il cliente denominato 'Janifer.' Successivamente, viene definita una raccolta dell'array multidimensionale e il Dove() Il metodo viene utilizzato per due tipi di ricerca nella raccolta. Il primo Dove() il metodo viene utilizzato per cercare le informazioni, dove il ID La chiave contiene il valore '011176645.' Il secondo Dove() Il metodo viene utilizzato per cercare le informazioni in cui il segni Di CSE409 È 88.

funzione pubblica Search_data ()

// Dichiara una collezione
$ customer = collect ([['id' => '894673', 'name' => 'rahman', 'email' => '[email protected] '],
['id' => '454886', 'name' => 'janifer', 'email' => '[email protected] '],
['id' => '306007', 'name' => 'micheal', 'email' => '[email protected] ']]);
// Cerca usando il metodo contiene
if ($ customer-> contiene ('name', 'janifer'))

Echo "Janifer esiste nell'elenco dei clienti.
";

// dichiara un'altra collezione
$ marks = raccolta ([
['Id' => '011176644', 'marks' => ['cse401' => 87, 'cse409' => 88]],
['Id' => '011176645', 'marks' => ['cse402' => 69, 'cse409' => 75],
]);
// Cerca usando Where Method
echo $ marks-> dove ('id', '011176645')."
";
echo $ marks-> dove ('marks.CSE409 ', 88);

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il Search_data ().

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

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/src_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Dati di raccolta del filtro

IL filtro() Il metodo viene utilizzato per filtrare i dati dalla raccolta. Aggiungi il seguente codice in CollectionController. Una collezione di prodotti è definito nel codice che contiene il nome e il prezzo. IL filtro() il metodo viene utilizzato per filtrare i dati dalla raccolta di cui il prezzo il valore è maggiore di 4000. La raccolta di dati filtrati viene convertita in un array e stampata dal per ciclo continuo.

Funzione pubblica Filter_Data ()

// Dichiara una collezione
$ prodotti = raccolta ([
['Product' => 'HDD', 'Price' => 6000],
['Product' => 'Mouse', 'Price' => 500],
['Product' => 'Monitor', 'Price' => 5000],
['Product' => 'Stampter', 'Price' => 4000],
]);
// Crea un altro elenco dopo aver filtrato i dati in base al valore del prezzo
$ filter_price = $ prodotti-> filtro (funzione ($ item)
restituire data_get ($ item, 'price')> 4000;
);
// Leggi tutti i dati come array dalla nuova raccolta
$ filtrod = $ filter_price-> all ();
// iterando i valori dell'array usando loop
foreach ($ filtrati come $ value)

Echo "Nome:".$ value ['Product']."",."Prezzo: ".$ value ['Price']."
";

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il filter_data ().

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

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/filter_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Ordina i dati di raccolta

Vari ordinare Esistono metodi in Laravel per ordinare i dati di raccolta. Aggiungi il seguente codice in CollectionController. Una raccolta di libri è definita nel codice. IL ordina per() Il metodo viene utilizzato per ordinare i dati di raccolta in base alla chiave 'autore.'Quindi, i valori della variabile di raccolta ordinati sono stampati nel browser.

funzione pubblica sort_data ()
// Dichiara una collezione
$ books = collect ([
['name' => 'Python Cookbook: ricette per padroneggiare Python 3',
'Autore' => 'David Beazley'],
['name' => 'impara Python in 1 giorno: guida Python completa con esempi',
'Autore' => 'Krishna Rungta'],
['name' => 'Python Programming: un'introduzione all'informatica',
'Autore' => 'John M. Zelle '],
['name' => 'Python Pocket Reference 5ed: Python in tasca',
'Autore' => 'Mark Lutz']
]);
// Ordina i dati di raccolta in base al nome dell'autore
$ SortedBook = $ libri-> SortBy ('Autore');
// scarica il contenuto variabile nel browser
dd ($ SortedBook-> valori ()-> toArray ());

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il sort_data ().

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

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/sort_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Dati di raccolta a fetta

Una parte particolare può essere tagliata dalla raccolta usando il Prendere() metodo. Aggiungi il seguente codice in CollectionController. IL Prendere() Il metodo viene utilizzato nel codice per creare un nuovo elenco tagliando i primi tre elementi dalla raccolta. Successivamente, il per Loop stampa i valori della nuova collezione.

funzione pubblica slice_data ()
// Dichiara una collezione
$ lingue = collect (['php', 'bash', 'python', 'java', 'c#', 'c ++']);
// Recupera i primi tre dati
$ slice = $ lingue-> prendi (3);
// Iterating Valori di raccolta
foreach ($ slice come $ value)

Echo $ Value."";

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il slice_data ().

Route :: get ('slice_collection', 'collectioncontroller@slice_data');

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/slice_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Trova la differenza tra due collezioni

IL Diff () il metodo viene utilizzato per trovare valori dalla prima raccolta che non esistono nella seconda raccolta. Aggiungi il seguente codice in CollectionController. Qui sono definite due variabili di raccolta. IL Diff () Il metodo genera una nuova raccolta dopo aver recuperato i valori da List1 che non esistono in List2.

funzione pubblica find_diff ()
// dichiara due collezioni
$ list1 = collect (['Notebook', 'Pen', 'Sharpner', 'Scale', 'Pencil']);
$ list2 = collect (['mation', 'color mation', 'color paper', 'pen' ']);
// Trova quali dati esistono in List1 ma non in List2
$ newlist = $ list1-> diff ($ list2);
// scarica il contenuto variabile nel browser
dd ($ newlist);

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il find_diff ().

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

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/diff_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Flip Collection Data

IL Flip() Il metodo viene utilizzato per creare la chiave per il valore e il valore alla chiave della raccolta. Aggiungi il seguente codice nel Controllo di raccolta per verificare la funzione di Flip() metodo. Una raccolta di tre elementi è definita nel codice. IL Flip() il metodo viene applicato alla raccolta e all'uscita del Flip() Il metodo viene stampato utilizzando il file dd () metodo.

funzione pubblica flip_data ()
// dichiara la collezione
$ prodotti = collect (['name' => 'Samsung A40', 'Brand' => 'Samsung', 'Price' => '$ 300']);
// scarica il contenuto variabile nel browser
dd ($ prodotti-> flip ());

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il flip_data ().

Route :: get ('flip_collection', 'collectioncontroller@flip_data');

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/flip_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Recupera la raccolta

IL Ottenere() il metodo viene utilizzato per leggere il valore di una chiave particolare dalla raccolta. Aggiungi il seguente codice in CollectionController. Il valore del 'nome' La chiave viene recuperata nel codice utilizzando il Ottenere() metodo.

Funzione pubblica recupero_data ()
// dichiara la collezione
$ prodotti = collect (['name' => 'Samsung A40', 'Brand' => 'Samsung', 'Price' => '$ 300']);
dd ($ prodotti-> get ('name'));

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il Retrieve_data ().

Route :: get ('read_collection', 'collectionController@recupie_data');

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/read_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Dati di raccolta del gruppo

IL raggruppa per() Il metodo viene utilizzato per creare una nuova raccolta da un'altra raccolta raggruppando in base al valore chiave particolare. Aggiungi il seguente codice all'interno del CollectionController. IL raggruppa per() Il metodo viene utilizzato qui per restituire una nuova raccolta raggruppando i valori in base al 'Aprile' chiave.

funzione pubblica group_data()

funzione pubblica gruppo_data ()
$ vendite = raccolta ([
['Jan' => 100000],
['Mar' => 500000],
['Apr' => 600000],
['Jan' => 450000],
['Jun' => 230000],
['Agosto' => 600000],
['Sep' => 789333],
['Jul' => 452000],
['Jan' => 700000],
['Apr' => 490000],
['Jun' => 670000],
['Apr' => 560000]
]);
dd ($ vendite-> groupby ('apr'));

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il group_data ().

Route :: get ('group_collection', 'collectioncontroller@group_data');

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/group_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Combinare i dati di raccolta

IL implodere() il metodo viene utilizzato per combinare particolari valori chiave dalla raccolta. Aggiungi il seguente codice all'interno del CollectionController. IL implodere() Il metodo viene utilizzato qui per combinare i valori del nome chiave della raccolta con spazio.

funzione pubblica join_data ()
// Dichiara una collezione
$ customer = collect ([['id' => '894673', 'name' => 'rahman', 'email' => '[email protected] '],
['id' => '454886', 'name' => 'janifer', 'email' => '[email protected] '],
['id' => '306007', 'name' => 'micheal', 'email' => '[email protected] ']]);
// combina e stampa il valore
dd ($ customer-> implode ('name', "));

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il join_data ().

Route :: get ('join_collection', 'collectioncontroller@join_data');

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/join_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Leggi i tasti della raccolta

IL tasti () Il metodo viene utilizzato per creare una nuova raccolta con tutte le chiavi di un'altra collezione. Aggiungi il seguente codice all'interno del CollectionController. La raccolta definita nel codice contiene diversi tipi di dati come elementi, come il valore con indice numerico, il valore con la chiave e un altro array.

funzione pubblica read_keys ()
// Dichiara una collezione
$ mixdata = collect ([
['sito Web' => 'Google.com ',' type '=>' motori di ricerca '],' lingua '=>' php ',
1234, 'name' => 'fahmida', 'game' => 'pubg', 'color' => 'blue']);
// Stampa la nuova collezione generata dal metodo Keys ()
dd ($ mixdata-> keys ());

Aggiungi il seguente percorso nel rotte \ web.PHP file per chiamare il read_keys ().

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

Immettere il seguente URL nel browser per controllare l'output.

http: // localhost: 8000/key_collection

La seguente uscita apparirà dopo aver eseguito l'URL.

Conclusione

La raccolta di Laravel ti consente di eseguire molti tipi diversi di attività con dati, come array PHP. Alcuni metodi utili di raccolta di Laravel sono spiegati in questo tutorial usando un codice molto semplice. Eloquent Orm è un altro uso della collezione in Laravel che non è coperto in questo tutorial. Una delle principali limitazioni della classe di raccolta è che genera una nuova collezione ogni volta che viene chiamato un metodo perché non è mutabile. Dopo aver letto questo tutorial, il lettore dovrebbe ora conoscere alcuni usi di base della collezione Laravel.