JOIN 2 tabulek, kde prvni tabulka ma vice radku
- Piticu
- Člen | 93
Ahoj vsem, bojuji se spojenim 2 tabulek. Problem je nasledujici:
- 2 tabulky: SITES a TEMPLATES
SITES
id
user_id
template_id
.......
CONSTRAINT `FK_sites_template` FOREIGN KEY (`template_id`) REFERENCES `templates` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
TEMPLATES
id
title //Tohle potrebuji vytahnout z Templates
....
- Vyber z tabulky sites vsechny radky ktere patri prihlasenemu uzivateli
SELECT * FROM SITES WHERE user_id = $user_id
Potrebuji k radkum (muze byt jeden nebo vice) pridat sloupec title z TEMPLATES. Zkusil jsem napriklad tohle, ale bez uspechu:
$this->getDatabase()->table('sites')
->select('sites.*,templates.title')
->where('user_id',$this->getUser()->id)
->fetchAll();
nebo
$templates = $this->getDatabase()->table('templates');
bdump($this->getDatabase()->table('sites')
->select('sites.*,templates.title')
->where('user_id',$this->getUser()->id)
->where('template_id',$templates)
->fetchAll());
Poradite mi prosim nekdo jak teda na to? Dekuji
- Ondřej Kubíček
- Člen | 494
a potřebuješ to mít přímo v query?
když pak iteruješ nad těmi výsledky, tak k title se dostaneš přes
template, takže např $row->template->title
- Piticu
- Člen | 93
Ondřej Kubíček napsal(a):
a potřebuješ to mít přímo v query?
když pak iteruješ nad těmi výsledky, tak k title se dostaneš přes template, takže např
$row->template->title
Zapomnel jsem dodat ze mi to nefuguje :/
No reference found for $sites->templates
Potrebuji to vypsat v sablone, takze je je mi jedno jak, hlavne aby to fungovalo.
Editoval Piticu (26. 2. 2018 20:34)
- Ondřej Kubíček
- Člen | 494
to ti musí fungovat
foreach ($this->getDatabase()->table('sites')->fetchAll() as $site){
echo $site->templates->title;
}
- Piticu
- Člen | 93
Ondřej Kubíček napsal(a):
to ti musí fungovat
foreach ($this->getDatabase()->table('sites')->fetchAll() as $site){ echo $site->templates->title; }
Cannot read an undeclared column 'templates'.
Cizi klic tam je, ze by byl spatne pojmenovan?
EDIT: Probleme vyresen, prejmenoval jsem tabulky na jednotne cislo (SITEa TEMPLATE)
Editoval Piticu (26. 2. 2018 21:40)