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