select  – nastavení option

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
colek
Člen | 59
+
0
-

chtěl bych se zeptat na asi triviální věc, mám následující kód

$data = Model::fetchAll();

$names = array();
foreach ($data as $val){
    $names['name']  = $val->id_team;
    $names['id']    = $val->id_team;
}

$form = new AppForm;
$form->addSelect('team', 'Tým:', $names);

cílem je mít ve formuláři <option value=‚id_team‘>id_team

ať se snažím jak chci, id vytáhnuté z databáze tam nedostanu. Když zakomentuju $names[‚id‘] = $val->id_team; tak to funguje, ale value je pořadové číslo…

díky za radu

twingosh
Člen | 10
+
0
-

Pokud tam dáš

foreach ($data as $val){
    $val->id_team  = $val->id_team;
}

tak dostaneš

<option>id_team</option>

takže value, která se odešle bude id_team.

Asi se to dá udělat i jinak (korektněj), ale tohle funguje :-)

colek
Člen | 59
+
0
-

jasně, ale já chci do toho selectu dostat jak id_team, tak name… Koukám že do původního dotazu jsem v záchvatu editace nedal úplně správnou věc…

správnej výsledek je třeba takhle

<select name='team'>
	<option value='153'>name1
	<option value='43'>name2
	<option value='77'>name3

prostě tam potřebuju dostat dvě data, číslo a název – a jde mi jen jedno z toho…

Quinix
Člen | 108
+
0
-
$names = array();
foreach ($data as $val){
    $names[$val->id] = $val->name;
}
Aurielle
Člen | 1281
+
0
-

Co použít Model::fetchPairs('id_team', 'name')?

westrem
Člen | 398
+
0
-

Vsak si v tom povodnom kode dokola prepisujes dve premenne! .. Pouzi to co napisal Quinix alebo gmvasek ;)