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