Scris pe

Laravel – Creeaza un dropdown usor

Eu sunt inca in procesul de a ma obisnui cu Laravel (framework pentru PHP) si mereu gasesc chestii noi. De exemplu acum recent am vrut sa fac un <select> folosind date din baza de date. Pe scurt, am un tabel currencies cu modelul Currency si vroiam ca utilizatorul sa isi aleaga moneda lui preferata. Pentru asta codul initial pe care l-am scris in model a fost urmatorul:

<?php
class Currency extends Eloquent {
    protected $table = 'currencies';

    public static function getForSelect()
    {
        $all = Currency::all();
        $ret = [];
        foreach($all as $c) {
          $ret[$c->id] = $c->name;
        }
        return $ret;
    }
   
}

Si apoi in view pentru ca sa afisez dropdown-ul am scris asa: <?php echo Form::select(‘test’,Currency::getForSelect()); ?> . Totusi, cateva minute mai tarziu am aflat ca se poate face mult mai simplu. Astfel, metoda din model a ajuns sa fie de cateva linii in felul urmator:

<?php
class Currency extends Eloquent {
    protected $table = 'currencies';

    public static function getForSelect()
    {
        $ret = Currency::lists('name','id');
        return $ret;
    }
}

Deci metoda lists din Eloquent te ajuta la asta, iti face un simplu array key->value cu numele si id-ul sau ce coloane vrei tu. Am zis sa scriu aici poate candva o sa ajute pe cineva.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Copyright © 2024 toate drepturile
nu sunt
rezervate. Faceti ce vreti, e o tara libera.
Cred ca nu mai are rost sa zic, dar tema e facuta de mine cu Tailwind CSS. Gasesti codul sursa aici.
Inca folosesc WordpPess 🧡. Tema e insa custom Laravel 😎.