Resultat vide sur Contain

Par alexyon, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code sur Cake3

en voulant lister avec des conditions sur contain, cake m'affiche des résulats de contain vides; par exemple :

$tableau = $categories->find() ->contain(['Auteurs.Genres'=> function ($q) { return $q ->where(['Genre.name' => 'policier']) ; }]) ->where(['Categories.id' => $id]) ->first();

il me sort :

(int) 5 => object(App\Model\Entity\Auteurs) { 'id' => (int) 2529, 'genre_id' => [], '[new]' => false, '[accessible]' => [ '*' => true ], '[dirty]' => [], '[original]' => [], '[virtual]' => [], '[errors]' => [], '[invalid]' => [], '[repository]' => 'Auteurs' },

ce que je voudrais c'est qu'il ne m'affiche pas cette Entity vu que cet auteur n'a écrit aucun livre avec de genre (genre_id -> tableau vide).
j'ai essayé Contain, InnerJoinWith, LeftJoinWith; mais rien n'y fait.
pour pallier à cela, je fais un foreach avec unset apres, mais bon c'est pas optimal je pense...
qu'en pensez vous ?
Merci.

Aucune réponse