Data cez dve tabulky spojene cudzim klucom

cujan
Člen | 410
+
0
-

Caute, potreboval by som tahat data cez dve tabulky

tabulky:
clenoviaKurzu(id, idKurz, idOsoba)
kurz(id, idNazovKurzu, datumKurzu) idNazovKurzu odkazuje na tabulku
nazovKurzu(id, nazov)

ako zobrazim do stlpca nazvy vsetkych kurzov, pre konkretneho cloveka?
samozrejme vsade su nastaven cudzie kluce…
datumKurzu nemam problem zobrazit…

vdaka

David Matějka
Moderator | 6445
+
0
-
foreach ($osoba->related('clenoviaKurzu') as $kurz) {
	echo $kurz->nazovKurzu->nazov;
}
cujan
Člen | 410
+
0
-

David Matějka napsal(a):

foreach ($osoba->related('clenoviaKurzu') as $kurz) {
	echo $kurz->nazovKurzu->nazov;
}

ok, a ked to chcem napisat do modelu?

David Matějka
Moderator | 6445
+
0
-

co konkretne myslis tim „napisat do modelu“?

cujan
Člen | 410
+
0
-

@DavidMatějka že ako by mala vyzerať funkcia vrámci modelu…
Vdaka

David Matějka
Moderator | 6445
+
+1
-

no tak foreach muzes delat i v modelu. nebo to chces dostat do selectu? budes se muset vyjadrit presneji :))

cujan
Člen | 410
+
0
-

David Matějka napsal(a):

no tak foreach muzes delat i v modelu. nebo to chces dostat do selectu? budes se muset vyjadrit presneji :))

@DavidMatějka
ydravim, potrebujem to dostat do SELECTU, aby som to vedel zobrazit v ublaboo…

David Matějka
Moderator | 6445
+
0
-

v selectu by asi musel byt nejaky group_concat, kde bys formatoval obsah. v ublaboo bude lepsi pouzit renderer, kde budes mit ten foreach

cujan
Člen | 410
+
0
-

David Matějka napsal(a):

v selectu by asi musel byt nejaky group_concat, kde bys formatoval obsah. v ublaboo bude lepsi pouzit renderer, kde budes mit ten foreach

@DavidMatějka
cize nejako takto?

<?php
setRenderer(function($item) {return foreach ($osoba->related('clenoviaKurzu') as $kurz) {echo $kurz->nazovKurzu->nazov;}
?>
David Matějka
Moderator | 6445
+
0
-

ne, musis to pospojovat do retezce, ktery pak vratis v returnu

cujan
Člen | 410
+
0
-

David Matějka napsal(a):

ne, musis to pospojovat do retezce, ktery pak vratis v returnu

dobre a keby som sa odstrihol od ublabooo…neuvazoval o nom, a vypisal by som si to cez Latte? tak select ako by vyzeral, uz som sa asi velmi zamotal…

David Matějka
Moderator | 6445
+
0
-

tak bys mel ten foreach v latte

Kcko
Člen | 465
+
+1
-

Nebo bys v modelu udělal foreach a uložil do nějakého pole a to proiteroval v šabloně, abys tam nemusel volat related.

Editoval Kcko (26. 3. 2018 10:30)

cujan
Člen | 410
+
0
-

no dostal som da fazy kedy uz pre osobu vyselctujem kurzy…uz len potrebujem vybrat nazov kurzu…

riesim to nakoniec cez cudzie kluce rovno do ublabooo

<?php
public function create() {

	$grid = new DataGrid();
	$grid->setDataSource($this->clenoviaKurzuManager->getRecords());
	$grid->addColumnText('idKurz', 'Kurz','kurz.idNazovKurzu');
	$grid->addColumnDateTime('zaciatok_kurzu', 'Zaciatok','kurz.zaciatok_kurzu');
	return $grid;
    }

?>

lebo kurz.nazov, mam zatial iba cislo, potrebujem ho tahat z nazovKurzu

Editoval cujan (26. 3. 2018 12:00)

cujan
Člen | 410
+
0
-

no cize tento select mi vracia co potrebujem

<?php
SELECT pilcik_db.kurz.idNazovKurzu, pilcik_db.kurz.zaciatok_kurzu, pilcik_db.nazovKurzu.nazov FROM pilcik_db.clenoviaKurzu inner join pilcik_db.kurz  on ((kurz.id = clenoviaKurzu.idKurz) and clenoviaKurzu.idClen = 10 ) inner join pilcik_db.nazovKurzu ON nazovKurzu.id = kurz.idNazovKurzu;

?>

uz len ho potrebujem namapovat na ublaboo