Symfony2 Doctrine pobiera losowy produkt z kategorii
Mam następujący schemat bazy danych:
table 'products'
id
category_id
i oczywiście tabela kategorii, tylko z identyfikatorem.
Dane wyglądają mniej więcej tak:
Products
--------------------
| id | category_id |
--------------------
| 0 | 1 |
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
| 4 | 2 |
| 5 | 1 |
--------------------
Chciałbym wybrać kategorię (na przykład kategorię 1), więc zaznaczam wszystkie wiersze z tej kategorii w mojej klasie repozytorium produktu:
return $this
->createQueryBuilder('u')
->andWhere('u.category = :category')
->setMaxResults(1)
->setParameter('category', $category->getId())
->getQuery()
->getSingleResult()
;
Jak mogę teraz wybrać losowy produkt? Ponadto: Czy jest możliwe rozwiązanie tego problemu za pomocą relacji?
Mam relację OneToMany między podmiotami „Kategoria” i „Produkt”, więc mogłem również uzyskać wszystkie produkty za pośrednictwem kategorii-> getProducts () ...
Każda pomoc byłaby naprawdę przydatna, dzięki