Spojeni vice tabulek dohromady

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

Dobry vecer,

Mam 3 tabulky: users(id,username…), templates(id,template_name), users_template(users_id, templates_id.

Potrebuji vybrat template_name z tabulky templates pres tabulku users_template. Jinak receno jeden uzivatel musi mit vice template a ja potrebuji vybrat vsechny jeho sablony. Potrebuji neco ve smsylu:

SELECT template_name FROM templates JOIN users_template ON templates.id = users_template.templates_id
WHERE users_template.users_id = $this->user->getId();

Zatim jsem dosel k tomuto:

$templates_id = $this->database->table('users_template')->where('users_id',$user_id);
foreach ($templates_id as $template_id) {
    $template = $this->database->table('templates')->get($template_id->templates_id);
    echo $template->template_name;
}

, ale nemyslim si ze je zrovna hezke reseni

Nasel jsem tohle https://doc.nette.org/…ase/explorer , ale porad nejsem schopny do dat dohromady.
Nejaka rada? Diky.

Editoval Piticu (27. 3. 2017 22:00)

petr.jirous
Člen | 128
+
+1
-

co takhle?

$user = $this->database->get($user_id);
foreach ($user->related('users_template') as $userTemplate) {
	echo $userTemplate->template->template_name;
}
Piticu
Člen | 93
+
0
-

Dostavam tohle

Call to undefined method Nette\Database\Context::get().

u

$user = $this->database->get($user_id);
petr.jirous
Člen | 128
+
0
-

samozrejme jsem zapomnel table
$user = $this->database->table('users')->get($user_id);

Piticu
Člen | 93
+
0
-

Uz to funguje :) Diky