addSelect zmena value nebo spiše jinak?
- TheNEoo
- Člen | 75
Ahoj.
Předem upozornuji ze jsem novackem zde :)
Takže tejt k problemu.
Ve formulari mam addSelect kterej naplnim z mysql to je v poradaku.
Tejt kdyz odeslu formular a ulozim ho do db tak se mi ulozi do tabulky cislo coz
mi nevadi. Tak nyni vypisu data z db a mam tam samozrejmne cislo a ja potrebuju
aby se pripojil do jine tabulky a podle id (toho cisla) nasel spravny udaj a
vypsal text ktery nasel pod id.
v presenteru mam.
<?php
public function renderDefault()
{
$works = new worksClients;
$this->template->worksclients = $works->findAll()->orderBy('id');
}
?>
Timhle nasedne vypisu v sablone data ktere mi vytahl a prave ze selectu tam
mam cislo a ja potrebuju aby se pripojil do db ale podival se do jine tabulky
worktype a podle cisla ze selectu vybral spravny text a zobrazil. Snad sem to
napsal spravne co chci.
Jedine co me napadlo zmenit hodnotu value u selectu misto cisla do ni ulozit
text ?
- Rampa
- Člen | 65
co třeba v modelu doplnit query do db. Třeba nějak takhle:
nech tabulku kde budou jen idečka worktypu ze selectu, tak jak to máš teď (table1) a tabulku kde máš id ⇒ nazev (worktype)
<?php
select table1.*, worktype.nazev as worktype from table1 left join worktype on table1.worktypeId=worktype.id where etc...
?>
EDIT: pokud používáš Nette\Database, tak je to krásně popsaný tady:https://forum.nette.org/…-predstaveni
Editoval Rampa (1. 4. 2011 14:27)
- TheNEoo
- Člen | 75
Rampa napsal(a):
co třeba v modelu doplnit query do db. Třeba nějak takhle:
nech tabulku kde budou jen idečka worktypu ze selectu, tak jak to máš teď (table1) a tabulku kde máš id ⇒ nazev (worktype)
<?php select table1.*, worktype.nazev as worktype from table1 left join worktype on table1.worktypeId=worktype.id where etc... ?>
EDIT: pokud používáš Nette\Database, tak je to krásně popsaný tady:https://forum.nette.org/…-predstaveni
tak zatim sem dal dohromady toto ale to mi zas dela to ze mi prepise i id coz je taky spatne :) jinak toto omlouvam se alae mel sem toto vlakno zalozit v databazich.
<?php
return $this->connection->select('*')->from('clientwork')->leftJoin('worktype')->on('worktype.wid=clientwork.type_work');
?>
tak dekuji za spolupraci frci to takhle jen sem mel chybu v tom ze se mi id prepisovala takze z id worktypu sem udelal wid a vse uz frci
Editoval TheNEoo (2. 4. 2011 12:20)