Doutrina Symfony2 obtém produtos aleatórios de uma categoria

Eu tenho o seguinte esquema de banco de dados:

table 'products'
id
category_id

e, claro, uma tabela de categorias, apenas com um id.

Os dados parecem algo assim:

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

Gostaria de selecionar uma categoria (por exemplo, Categoria 1), portanto, seleciono todas as linhas dessa categoria na minha classe de repositório de produtos:

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

Como posso selecionar agora um produto aleatório? Além disso: é possível resolver isso através de relacionamentos?

Eu tenho um OneToMany Relacionamento entre as entidades "Categoria" e "Produto", então eu também poderia obter todos os produtos através da categoria-> getProducts () ...

Qualquer ajuda seria muito útil, obrigado

questionAnswers(2)

yourAnswerToTheQuestion