yetorm – entitycollection where
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Томас
- Člen | 85
Dobrý den,
chtěl bych se zeptat, jak zle uplatnit WHERE metodu v entitě (u entity collection).
Mám tabulku products:
-------------
| id, price |
-------------
a tabulku product_x_category
------------------------------
| id, product_id, category_id|
------------------------------
A jednoduše chci všechny produkty v kategorii s ID 51, ale pouze ty, kde cena je větší než 0. Jak to lze udělat bez použití vlastního selectu v repository? A jde to vůbec udělat?
Mám takovýhle kód v categoryentity:
public function getProducts(){
$selection = $this->toRecord()->related("product_x_category", "category_id");
return new EntityCollection($selection, ProductEntity:class, "products", "product_id");
}
Where na selection uplatnit nemůžu, protože tam zmínka o tabulce products vůbec není a na v entitycollection je pouze limit a order by… poradil by mi někdo prosím, jak na to?
Díky
edit:
představoval jsem si něco takového:
$entitycollection->where("price > ?", 0)->orderBy("created DESC")->limit(16,0);
Editoval Томас (22. 3. 2016 18:47)