Учение Symfony2 получает случайный продукт из категории

У меня есть следующая схема базы данных:

table 'products'
id
category_id

и, конечно, таблица категорий, просто с идентификатором.

Данные выглядят примерно так:

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

Я хотел бы выбрать категорию (например, Категория 1), поэтому я выбираю все строки из этой категории в своем классе репозитория продуктов:

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

Как я могу сейчас выбрать случайный товар? Кроме того: возможно ли решить это через отношения?

У меня есть отношения OneToMany между объектами «Категория» и «Продукт», поэтому я также могу получить все продукты через категорию-> getProducts () ...

Любая помощь будет очень полезна, спасибо