Výběr z databáze na základě tagu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- mira01
- Člen | 3
Dobrý den,
používám Nejnovější Nette 2.1dev a jsem začátečník.
Chci vybrat z tabulky knih ty položky, které mají určité tagy. Moje
databáze je stejná jako v příkladu https://doc.nette.org/cs/database.
Prosím, jak mám toto v Nette objektově provést?
rád bych dostal výsledek jako vrací tento SQL kód:
<?php
SELECT DISTINCT book.* FROM book JOIN book_tag ON (book.id = book_tag.book_id) JOIN tag ON (tag.id = book_tag.tag_id) WHERE(tag.title IN ('tag1', 'tag2'));
?>
Děkuju
- David Matějka
- Moderator | 6445
zkus:
$selectionFactory->table('book')->where(':book_tag.tag.title', array('tag1', 'tag2'));
- David Matějka
- Moderator | 6445
tldr; ta dvojtecka urcuje smer relace (ze cizi klic je v book_tag)
koukni na http://public.skrasek.com/…_2012_04_28/ (radeji ve ff,
v chrome mi to zlobi). sice je to pro 2.0, ale jediny zasadni rozdil je ta
dvojtecka, ktera se presunula pred nazev tabulky (byla za) tedy ten muj priklad
by v 2.0 byl book_tag:tag.title
, nyni
je :book_tag.tag.title