Symfony2 Doctrine erhält ein zufälliges Produkt aus einer Kategorie

Ich habe das folgende Datenbankschema:

table 'products'
id
category_id

und natürlich eine Kategorietabelle, nur mit einer ID.

Die Daten sehen ungefähr so ​​aus:

Products
--------------------
| id | category_id |
--------------------
| 0  | 1           |
| 1  | 1           |
| 2  | 1           |
| 3  | 2           |
| 4  | 2           |
| 5  | 1           |
--------------------

Ich möchte eine Kategorie auswählen (zum Beispiel Kategorie 1), also wähle ich alle Zeilen aus dieser Kategorie in meiner Produkt-Repository-Klasse aus:

return $this
    ->createQueryBuilder('u')
    ->andWhere('u.category = :category')
    ->setMaxResults(1)
    ->setParameter('category', $category->getId())
    ->getQuery()
    ->getSingleResult()
;

Wie kann ich jetzt ein zufälliges Produkt auswählen? Auch: Ist es möglich, dies über Beziehungen zu lösen?

Ich habe eine OneToMany-Beziehung zwischen den Entitäten "Category" und "Product", sodass ich alle Produkte auch über category-> getProducts () abrufen kann.

Jede Hilfe wäre sehr hilfreich, danke

Antworten auf die Frage(2)

Ihre Antwort auf die Frage