Docsortingne2.1 charge une association partielle

Disent que j'ai une entité dans Docsortingne appelée Post et qu'elle possède une relation bidirectionnelle multi-un à une autre entité appelée Commentaire.

Disons que j'ai une fonction dans Post qui sérialise la publication dans JSON et comprend une partie des commentaires:

public function serialize(){ return array( ... other data here .... 'comments' => $this->getSerializedComments(5), 'total_comments' => $this->getComments()->count() ); } 

J'aimerais également écrire une fonction getSerializedComments (limite) qui ne charge que pour limiter les commentaires dans l'association (c'est-à-dire pas tous les commentaires pour la publication, seulement 5). Si je comprends bien, si je fais l'association EXTRA_LAZY, le count () ne fonctionnera qu'une requête de comptage et n'inclurera pas l'set de l'association.

Je préférerais faire tout cela dans ma class d'entité et ne pas le faire dans une fonction de gestionnaire ou de repository distincte.

Je sais qu'il y a une annotation @OrderBy pour les relations To-Many. Il ne semble pas qu'il y ait un @ Limite cependant.

Vous pouvez simplement utiliser Docsortingne\Common\Collections\Collection::slice() , qui EXTRA_LAZY pas la collection si elle est marquée comme EXTRA_LAZY