2012-01-30 1 views
7

Posso avere un collegamento DQL tra entità non collegate utilizzando l'operatore WITH DQL? O la relazione definitiva è assolutamente obbligatoria?Unire DQL tra entità non correlate?

Ho una relazione unidirezionale con la Categoria e la Sottoscrizione di categoria. Dove CategorySubscription ha una relazione unidirezionale molti con una categoria. Voglio prendere una lista di Categorie c e sinistra iscriviti CategoriaSubscription cs WITH cs.category_id = c.id AND cs.user_id = value.

Posso farlo in qualche modo?

risposta

-1

Puoi provare a utilizzare più da metodi() e unirsi condizioni poste a dove() o metodi andwhere()

6

A partire dalla Dottrina versione 2.3 è possibile, come accennato in un blog.

È anche menzionato nello docs se si sa dove cercare. Scorrere verso il basso per l'ultimo esempio in "15.2.4 DQL SELEZIONA Esempi.":

Joins between entities without associations were not possible until version 2.4, where you can generate an arbitrary join with the following syntax: 

<?php 
$query = $em->createQuery('SELECT u FROM User u JOIN Blacklist b WITH u.email = b.email'); 

So che dice "non è possibile fino alla versione 2.4", ma sicuramente lavora a partire con 2.3!

+0

Grazie di cuore, ha funzionato per me. – Daniel