laravel

„Laravel“ kolekcijos pamoka

„Laravel“ kolekcijos pamoka
„Laravel“ kolekcija yra naudinga „Laravel“ sistemos savybė. Kolekcija veikia kaip PHP masyvas, tačiau tai yra patogiau. Kolekcijos klasė yra Apšviesti \ Support \ Collection vieta. Kolekcija leidžia jums sukurti metodų grandinę, kad būtų galima nustatyti ar sumažinti masyvus. Ji nėra keičiama ir iškviečiant rinkimo metodą, grąžinama nauja kolekcija. Tai yra API paketas, skirtas PHP masyvo funkcijoms, o kolekciją galima sukurti iš masyvo. Ši pamoka parodo, kaip sukurti ir naudoti kolekciją bet kuriame „Laravel“ projekte.

Būtina sąlyga

Prieš pradėdami šią mokymo programą, turite sukurti „Laravel“ projektą. Jūs taip pat turite turėti pagrindinių žinių apie valdiklį ir maršruto parinkimą.

Sukurkite kolekciją

Sukurkite valdiklį, pavadintą CollectionController ir parašykite reikiamą kodą, kad sukurtumėte naują kolekciją valdiklio viduje. Norėdami sukurti valdiklį, vykdykite šią komandą.

$ php amatininko gamintojas: valdiklis CollectionController

Kolekciją galite sukurti naudodami kolekcijos klasę arba „collect ()“ metodą. Abu būdai parodyti žemiau. Viršuje pridėkite šią eilutę CollectionController klasės naudoti kolekcija klasė.

// Pridėti kolekcijos klasę
naudoti Illuminate \ Support \ Collection;

A. Sukurkite kolekciją naudodami „Class“

Sukurkite kolekcijos_klasė () metodas su tokiu kodu CollectionController. Čia sukuriama skaičių kolekcija su kolekcijos klase. Kai šis metodas bus iškviestas, naršyklėje bus rodomos rinkinio kintamojo vertės.

viešoji funkcija collection_class ()
// Sukurkite naują kolekciją naudodami kolekcijos klasę
$ collection1 = nauja kolekcija ([67,34,89,56,23]);
// išmesti kintamąjį turinį į naršyklę
dd ($ kolekcija1);

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti kolekcijos_klasė ().

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

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / collect1

Ši išvestis bus rodoma paleidus URL. Čia atspausdinti penki kolekcijos numeriai.

B. Sukurkite kolekciją naudodami metodą

Kolekciją taip pat galima sukurti naudojant rinkti () metodas. Pridėkite šiuos duomenis rinkti_metodą () viduje CollectionController sukurti stygų kolekciją naudojant rinkti () metodas. Kai bus iškviestas šis metodas, rinkinio kintamojo vertės bus rodomos naršyklėje, kaip ir anksčiau.

viešoji funkcija collect_method ()
// Sukurkite naują kolekciją naudodami rinkimo metodą
$ collection2 = collect (["Geras", "Geriau", "Geriausias"]);
// išmesti kintamąjį turinį į naršyklę
dd ($ kolekcija2);

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti rinkti_metodą ().

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

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / collect2

Ši išvestis bus rodoma paleidus URL. Čia atspausdintos trys kolekcijos eilutės vertės.

Ieškoti duomenų rinkinyje

Duomenų iš kolekcijos galima ieškoti keliais būdais. Pridėkite šį kodą viduje CollectionController. Kode rodomi du paieškos tipai. Pirma, apibrėžiama klientų kolekcija ir yra () metodas naudojamas ieškant kliento 'Janiferis." Toliau apibrėžiama daugiamatės masyvo kolekcija ir kur () metodas naudojamas dviem kolekcijos paieškų tipams. Pirmas kur () metodas naudojamas informacijos paieškai, kur ID rakte yra reikšmė „011176645." Antras kur () metodas yra naudojamas ieškant informacijos, kur ženklų apie CSE409 yra 88.

viešoji funkcija search_data ()

// Paskelbti kolekciją
$ klientas = rinkti ([['id' => '894673', 'name' => 'Rahman', 'email' => '[email protected]'],
['id' => '454886', 'name' => 'Janifer', 'email' => '[email protected]'],
['id' => '306007', 'name' => 'Micheal', 'email' => '[email protected]']]);
// Paieška naudojant metodą
jei ($ klientas-> yra ('vardas', 'Janiferis'))

echo "Janiferis yra klientų sąraše.
";

// Paskelbti kitą kolekciją
$ markės = surinkti ([
['ID' => '011176644', 'pažymi' => ['CSE401' => 87, 'CSE409' => 88]],
['ID' => '011176645', 'pažymi' => ['CSE402' => 69, 'CSE409' => 75]],
]);
// Paieška naudojant kur metodą
echo $ marks-> kur ('ID', '011176645')."
";
echo $ markės-> kur ('žymės.CSE409 “, 88);

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti paieškos_duomenys ().

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

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / src_collection

Ši išvestis bus rodoma paleidus URL.

Filtruoti rinkimo duomenis

The filtras() metodas naudojamas filtruoti duomenis iš kolekcijos. Pridėkite šį kodą CollectionController. Kolekcija Produktai yra apibrėžtas kode, kuriame yra produkto pavadinimas ir kaina. The filtras() metodas naudojamas filtruoti duomenis, iš kurių rinkimo kaina vertė yra didesnė nei 4000. Filtruotų duomenų rinkinys paverčiamas masyvu ir atspausdintas dėl kilpa.

viešoji funkcija filter_data ()

// Paskelbti kolekciją
$ produktai = rinkti ([
['product' => 'HDD', 'price' => 6000],
['product' => 'Pelė', 'price' => 500],
['product' => 'Monitorius', 'price' => 5000],
['product' => 'Spausdintuvas', 'price' => 4000],
]);
// Sukūrę kitą sąrašą, filtravę duomenis pagal kainos vertę
$ filter_price = $ products-> filtras (funkcija ($ elementas)
return data_get ($ item, 'price')> 4000;
);
// Perskaitykite visus duomenis kaip masyvą iš naujos kolekcijos
$ filtered = $ filter_price-> all ();
// Masyvo verčių kartojimas naudojant kilpą
foreach ($ filtruojamas kaip $ vertė)

aidas „Pavadinimas:“.$ value ['product'].","."Kaina:".USD vertė ['kaina']."
";

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti filtro_duomenys ().

Maršrutas :: get ('filter_collection', '[email protected] _data');

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / filter_collection

Ši išvestis bus rodoma paleidus URL.

Rūšiuoti kolekcijos duomenis

Įvairūs rūšiuoti „Laravel“ egzistuoja metodai, skirti rūšiuoti kolekcijos duomenis. Įtraukite šį kodą į CollectionController. Knygų rinkinys apibrėžtas kode. The Rūšiuoti pagal() metodas naudojamas rūšiuojant rinkimo duomenis pagal raktą "autorius.Tada naršyklėje išspausdinamos surūšiuoto rinkinio kintamojo vertės.

viešoji funkcija sort_data ()
// Paskelbti kolekciją
$ knygos = rinkti ([
['name' => '„Python Cookbook“: „Python 3“ įsisavinimo receptai “,
„autorius“ => „Davidas Beazley“],
['name' => 'Sužinokite „Python“ per vieną dieną: užpildykite „Python“ vadovą su pavyzdžiais “,
'author' => 'Krišna Rungta'],
['name' => 'Python programavimas: įvadas į kompiuterių mokslą',
'autorius' => 'Jonas M. Zelle '],
['name' => '„Python Pocket Reference 5ed: Python in Your Pocket“,
„autorius“ => „Markas Lutzas“]
]);
// Rūšiuoti kolekcijos duomenis pagal autoriaus vardą
$ sortedBook = $ books-> sortBy ('autorius');
// išmesti kintamąjį turinį į naršyklę
dd ($ sortedBook-> reikšmės () -> toArray ());

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti rūšiuoti_duomenis ().

Maršrutas :: get ('sort_collection', '[email protected] _data');

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / sort_collection

Ši išvestis bus rodoma paleidus URL.

Skiltelių rinkimo duomenys

Tam tikrą porciją iš kolekcijos galima iškirpti naudojant imti () metodas. Įtraukite šį kodą į CollectionController. The imti () metodas naudojamas kode sukurti naują sąrašą, iškirpiant pirmuosius tris elementus iš kolekcijos. Toliau dėl ciklas spausdina naujos kolekcijos vertes.

viešoji funkcija slice_data ()
// Paskelbti kolekciją
$ languages ​​= collect (['PHP', 'Bash', 'Python', 'Java', 'C #', 'C ++']);
// Atgaukite pirmuosius tris duomenis
$ slice = $ languages-> take (3);
// Kartojamos kolekcijos vertės
foreach ($ slice kaip $ value)

echo $ vertė.„“;

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti slice_data ().

Maršrutas :: get ('slice_collection', '[email protected] _data');

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / slice_collection

Ši išvestis bus rodoma paleidus URL.

Raskite skirtumą tarp dviejų kolekcijų

The diff () metodas naudojamas ieškant pirmosios kolekcijos verčių, kurių nėra antrojoje kolekcijoje. Įtraukite šį kodą į CollectionController. Čia apibrėžti du kolekcijos kintamieji. The diff () metodas sugeneruoja naują kolekciją, gavus reikšmes iš sąrašas1 kurių nėra sąrašas2.

viešoji funkcija find_diff ()
// Paskelbti dvi kolekcijas
$ list1 = collect (['Užrašų knygelė', 'Rašiklis', 'Sharpner', 'Mastelis', 'Pieštukas']);
$ list2 = collect (['Pieštukas', 'Spalvotas pieštukas', 'Spalvotas popierius', 'Rašiklis']);
// Raskite, kurie duomenys yra sąraše1, bet nėra sąraše2
$ newList = $ list1-> diff ($ list2);
// išmesti kintamąjį turinį į naršyklę
dd ($ newList);

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti find_diff ().

Route :: get ('diff_collection', '[email protected] _diff');

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / diff_collection

Ši išvestis bus rodoma paleidus URL.

Apversti rinkimo duomenis

The apversti () metodas naudojamas vertės raktui ir rinkinio rakto reikšmei sukurti. Įtraukite šį kodą į CollectionController, kad patikrintumėte apversti () metodas. Trijų elementų kolekcija apibrėžta kode. The apversti () metodas taikomas duomenų rinkimui ir išleidimui apversti () metodas atspausdintas naudojant dd () metodas.

viešoji funkcija flip_data ()
// Paskelbti kolekciją
$ produktai = surinkti (['name' => 'Samsung A40', 'brand' => 'Samsung', 'price' => '300 $']);
// išmesti kintamąjį turinį į naršyklę
dd ($ produktai-> apversti ());

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti flip_data ().

Maršrutas :: get ('flip_collection', '[email protected] _data');

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / flip_collection

Ši išvestis bus rodoma paleidus URL.

Gaukite kolekciją

The gauti () metodas naudojamas nuskaityti konkretaus rakto vertę iš kolekcijos. Įtraukite šį kodą į CollectionController. „vardas' raktas yra gaunamas kode naudojant gauti () metodas.

Viešoji funkcija retrieve_data ()
// Paskelbti kolekciją
$ produktai = surinkti (['name' => 'Samsung A40', 'brand' => 'Samsung', 'price' => '300 $']);
dd ($ produktai-> get ('vardas'));

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti retrieve_data ().

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

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / read_collection

Ši išvestis bus rodoma paleidus URL.

Grupės rinkimo duomenys

The Grupuoti pagal() metodas naudojamas kuriant naują kolekciją iš kitos kolekcijos grupuojant pagal tam tikrą raktinę vertę. Pridėkite šį kodą viduje CollectionController. The Grupuoti pagal() metodas yra naudojamas norint grąžinti naują kolekciją grupuojant reikšmes pagal 'Balandžio mėn' Raktas.

viešoji funkcija grupės_duomenys()

viešoji funkcija group_data ()
$ pardavimai = surinkti ([
['Sausis' => 100000],
['Mar' => 500000],
['Balandis => 600000],
['Sausis' => 450000],
['Birželis => 230000],
['Rugpjūtis => 600000],
['Rugsėjis => 789333],
['Liepa' => 452000],
['Sausis' => 700000],
['Balandis => 490000],
['Birželis => 670000],
['Balandis => 560000]
]);
dd ($ sales-> groupBy ('Apr'));

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti group_data ().

Maršrutas :: get ('group_collection', '[email protected] _data');

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / group_collection

Ši išvestis bus rodoma paleidus URL.

Sujunkite surinkimo duomenis

The implode () metodas naudojamas sujungti tam tikras pagrindines kolekcijos vertes. Pridėkite šį kodą viduje CollectionController. The implode () metodas čia naudojamas norint sujungti vardas kolekcijos raktas su vieta.

viešoji funkcija join_data ()
// Paskelbti kolekciją
$ klientas = rinkti ([['id' => '894673', 'name' => 'Rahman', 'email' => '[email protected]'],
['id' => '454886', 'name' => 'Janifer', 'email' => '[email protected]'],
['id' => '306007', 'name' => 'Micheal', 'email' => '[email protected]']]);
// Sujunkite ir atspausdinkite vertę
dd ($ klientas-> implode ('vardas', "));

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti prisijungti_duomenys ().

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

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / join_collection

Ši išvestis bus rodoma paleidus URL.

Perskaitykite kolekcijos raktus

The raktai() metodas naudojamas kuriant naują kolekciją su visais kitos kolekcijos klavišais. Pridėkite šį kodą viduje CollectionController. Kode apibrėžtoje kolekcijoje yra įvairių tipų duomenys kaip elementai, pvz., Reikšmė su skaitiniu rodikliu, reikšmė su raktu ir kitas masyvas.

viešoji funkcija read_keys ()
// Paskelbti kolekciją
$ mixdata = surinkti ([
['svetainė' => 'google.com ',' type '=>' search engine '],' language '=>' PHP ',
1234, 'name' => 'Fahmida', 'game' => 'PUBG', 'color' => 'blue']);
// Atspausdinkite naują raktų () metodu sugeneruotą kolekciją
dd ($ mixdata-> raktai ());

Įtraukite šį maršrutą į maršrutai \ internetas.php failą iškviesti read_keys ().

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

Įveskite šį URL naršyklėje, kad patikrintumėte išvestį.

http: // localhost: 8000 / key_collection

Ši išvestis bus rodoma paleidus URL.

Išvada

„Laravel“ rinkimas leidžia atlikti daug įvairių rūšių užduočių su duomenimis, pvz., PHP masyvais. Kai kurie naudingi „Laravel Collection“ metodai yra paaiškinti šioje pamokoje naudojant labai paprastą kodą. „Eloquent ORM“ yra dar vienas „Laravel“ kolekcijos panaudojimas, kurio neapima šios pamokos. Vienas pagrindinių kolekcijos klasės apribojimų yra tai, kad ji sukuria naują kolekciją kiekvieną kartą, kai vadinamas metodas, nes jis nėra kintamas. Perskaitęs šią pamoką, skaitytojas turėtų žinoti keletą pagrindinių „Laravel“ kolekcijos naudojimo būdų.

„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...
0 A.D. Pamoka
Iš daugybės strateginių žaidimų 0 A.D. sugeba išsiskirti kaip išsamus pavadinimas ir labai gilus, taktinis žaidimas, nepaisant to, kad yra atviro kodo...
„Unity3D“ pamoka
Įvadas į „Unity 3D“ „Unity 3D“ yra galingas žaidimų kūrimo variklis. Tai yra daugiašalė platforma, kuri leidžia kurti žaidimus mobiliesiems, interneti...