addSelect zmena value nebo spiše jinak?

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

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
+
0
-

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
+
0
-

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)