Ho una grande query (nel mio generatore di query) e molti join di sinistra. Quindi ottengo articoli con i loro commenti e tag e così via. Diciamo che ho il seguente DQL:Doctrine2: Limitazione con join/impaginazione sinistra - Best Practice
$dql = 'SELECT blogpost, comment, tags
FROM BlogPost blogpost
LEFT JOIN blogpost.comments comments
LEFT JOIN blogpost.tags tags';
Ora diciamo che il mio database ha più di 100 blogposts ma voglio solo il primo 10, ma con tutti i commenti di chi 10 e tutte le loro etichette, se esistono . Se uso setMaxResults limita le righe. Quindi potrei ottenere i primi due post, ma l'ultimo di questi manca alcuni dei commenti o dei tag. Quindi il seguito non funziona.
$result = $em->createQuery($dql)->setMaxResults(15)->getResult();
Utilizzando la malapena documentato Pagination Soluzione fornito con doctrine2.2 in realtà non funziona neanche per me dal momento che è così lento, ho potuto così caricare tutti i dati.
Ho provato le soluzioni nello Stackoverflow Article, ma anche quell'articolo manca ancora una best practice e la soluzione presentata è mortalmente lenta.
Non esiste una procedura ottimale su come eseguire questa operazione? Nessuno usa Doctrine2.2 in modalità Produzione?
Si prega di aggiungere il codice che avete alla vostra domanda, magari anche con risultati di esempio per mostrare ciò che si desidera, e ciò che si sta ottenendo. –