Plnění rozbalovacího seznamu
- Username
- Člen | 36
Ahoj,
chtěl bych vás poprosit o pomoc. Potřeboval bych naplnit rozbalovací seznam hodnotami z tabulky, kde názvy sloupců jsou cizím klíčem, ale nemají ideální název. V šabloně se bez problému dostanu k údajům, které potřebuju, ale v presenteru, kde mám formulář se mi to nedaří.
Šablona:
{$dvojice->ref('ucastnici', 'osoba1')->prijmeni} {$dvojice->ref('ucastnici', 'osoba1')->jmeno} - {$dvojice->ref('ucastnici', 'osoba2')->prijmeni} {$dvojice->ref('ucastnici', 'osoba2')->jmeno}
Presenter:
$this->database->table('dvojice')->select('id, CONCAT(osoba1, " ", osoba2) AS "value"')->order('value ASC')->fetchPairs('id', 'value'))
Díky za pomoc
Editoval Username (10. 2. 2017 7:22)
- Altimit
- Člen | 82
Máš to blbě napsaný..
$this->database->table('dvojice')->select('id, CONCAT(osoba1.prijmeni,osoba2.prijmeni) osoby')->fetchPairs('id','osoby');
Nevím, jest-li by ti databáze vzala ‚‚‘..
zkus to poupravit
Ps. používej formátovací šablony (výše jsou značky – html, php, inline kod). Děkuji
- Username
- Člen | 36
Omlouvám se za nepoužití formátovacích značek, upravil jsem původní příspěvek. Upřesním svůj problém. Rozbalovací seznam se mi naplní hodnotami, které jsou v tabulce dvojice ve sloupci osoba1 a osoba2, ale to jsou cizí klíče do tabulky ucastnici kde bych potřeboval načíst sloupec např. prijmeni. V šabloně to podle dokumentace udělám, ale v presenteru si nevím rady.
Altimit napsal(a):
Máš to blbě napsaný..
$this->database->table('dvojice')->select('id, CONCAT(osoba1.prijmeni,osoba2.prijmeni) osoby')->fetchPairs('id','osoby');
Nevím, jest-li by ti databáze vzala ‚‚‘..
zkus to poupravitPs. používej formátovací šablony (výše jsou značky – html, php, inline kod). Děkuji
- Mysteria
- Člen | 797
Tak použij tohle:
$this->database->table('dvojice')
->select('dvojice.id id, CONCAT(osoba1.jmeno, " ", osoba1.prijmeni, ", ", osoba2.jmeno, ", ", osoba2.prijmeni) osoby')
->fetchPairs('id', 'osoby');
// array (2)
// 1 => "J1 P1, J2, P2" (9)
// 2 => "J3 P3, J4, P4" (9)
SELECT `dvojice`.`id` `id`, CONCAT(`osoba1`.`jmeno`, " ", `osoba1`.`prijmeni`, ", ",
`osoba2`.`jmeno`, ", ", `osoba2`.`prijmeni`) `osoby`
FROM `dvojice`
LEFT JOIN `ucastnici` `osoba1` ON `dvojice`.`osoba1` = `osoba1`.`id`
LEFT JOIN `ucastnici` `osoba2` ON `dvojice`.`osoba2` = `osoba2`.`id`
Editoval Mysteria (10. 2. 2017 15:53)
- Username
- Člen | 36
Paráda, mockrát díky, funguje
Mysteria napsal(a):
Tak použij tohle:
$this->database->table('dvojice') ->select('dvojice.id id, CONCAT(osoba1.jmeno, " ", osoba1.prijmeni, ", ", osoba2.jmeno, ", ", osoba2.prijmeni) osoby') ->fetchPairs('id', 'osoby'); // array (2) // 1 => "J1 P1, J2, P2" (9) // 2 => "J3 P3, J4, P4" (9) SELECT `dvojice`.`id` `id`, CONCAT(`osoba1`.`jmeno`, " ", `osoba1`.`prijmeni`, ", ", `osoba2`.`jmeno`, ", ", `osoba2`.`prijmeni`) `osoby` FROM `dvojice` LEFT JOIN `ucastnici` `osoba1` ON `dvojice`.`osoba1` = `osoba1`.`id` LEFT JOIN `ucastnici` `osoba2` ON `dvojice`.`osoba2` = `osoba2`.`id`