ho il seguente schema di database:Symfony2 Dottrina ottenere il prodotto casuale da una categoria
table 'products'
id
category_id
e, naturalmente, un tavolo categoria, solo con un id.
I dati sembrano qualcosa di simile:
Products
--------------------
| id | category_id |
--------------------
| 0 | 1 |
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
| 4 | 2 |
| 5 | 1 |
--------------------
Vorrei selezionare una categoria (ad esempio, categoria 1), in modo da selezionare tutte le righe da quella categoria nella mia classe di prodotto-repository:
return $this
->createQueryBuilder('u')
->andWhere('u.category = :category')
->setMaxResults(1)
->setParameter('category', $category->getId())
->getQuery()
->getSingleResult()
;
Come posso selezionare ora un prodotto casuale? Inoltre: è possibile risolvere questo tramite relazioni?
ho un rapporto OneToMany tra le entità "Categoria" e "Prodotto", così ho potuto anche ottenere tutti i prodotti tramite categoria-> getProducts() ...
Qualsiasi aiuto sarebbe veramente utile, grazie
caso 'getResult' sulla query conteggio non essere' getSingleScalarResult'? – Machiel
So che questo frammento ha funzionato quando ho risposto, ma non ho toccato Doctrine da un po 'di tempo, quindi le cose potrebbero essere cambiate. –
Ecco una funzione pronta per l'uso: https://gist.github.com/Thinkscape/124d658e4076421c0516 –