Active row a nefungční group by (v laděnce funguje)

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

Ahoj,

vytvořil jsem si dotaz, který v sql funguje tak jak potřebuju, laděnka mi vrátí 2 řádky, ale nette database bohužel pouze jeden.

Tady je dotaz:

SELECT `product`.`id`, `product_t`.`name`, `product_t`.`value`, `product_piece`.`dateFrom`
FROM `product`
LEFT JOIN `product_t` ON `product`.`id` = `product_t`.`product_id`
LEFT JOIN `product_has_menu` ON `product`.`id` = `product_has_menu`.`product_id`
LEFT JOIN `product_piece` ON `product`.`id` = `product_piece`.`product_id`
WHERE (`product`.`show` = 1) AND (`product_t`.`language_id` = 1) AND (`product_has_menu`.`menu_id` =
9) AND (`product_piece`.`dateFrom` >= '2015-06-01') AND (`product_piece`.`dateTo` <= '2016-06-01')
GROUP BY `product_piece`.`id`

Nejlepší by bylo kdyby se mi tam podařilo dostat na product_piece jen holé JOIN, ale to nevím jak dostat v následujícím dotazu

nette database:

return $this->findByMenu($menu)->where(":product_piece.dateFrom >= ?", $from)
								->where(":product_piece.dateTo <= ?", $to)->group(':product_piece.id');

Prosím vás, nesetkal se s tím někdo, nebo je to standartní chování nette ?
Díky Míra

David Matějka
Moderator | 6445
+
0
-

ano, toto je ocekavane chovani – nette to seskupi dle primarniho klice hlavni tabulky – coz je v tomto pripade product, pokud chces vsechny product_piece, zacni dotaz od teto tabulky

Miri
Člen | 117
+
0
-

Dobře, díky za odpověď