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.