J'ai la question suivante.Contenir Comportement, conditions et tableau vide
Il fait partie du code:
$result = $this->find('all', array(
'contain' => array(
'User' => array(
'fields' => 'id',
'conditions' => array(
'id' => $user_id
)
)
),
'fields' => 'url'
));
Cette découverte() appelée dans la méthode de classe modèle de projet et je veux récupérer seulement des projets où User.id égal certains ID utilisateur est passé à ma méthode. Utilisateur HABTM Projet et projet Utilisateur HABTM.
Mais après l'exécution je la prochaine:
app/views/projects/index.ctp (line 1)
Array
(
[0] => Array
(
[Project] => Array
(
[url] => http://purpled.biz
[id] => 1
)
[User] => Array
(
[0] => Array
(
[id] => 4
[ProjectsUser] => Array
(
[user_id] => 4
[project_id] => 1
[projects_users_role_id] => 0
)
)
)
)
[1] => Array
(
[Project] => Array
(
[url] => http://google.com
[id] => 2
)
[User] => Array
(
[0] => Array
(
[id] => 4
[ProjectsUser] => Array
(
[user_id] => 4
[project_id] => 2
[projects_users_role_id] => 0
)
)
)
)
[2] => Array
(
[Project] => Array
(
[url] => http://test.com
[id] => 3
)
[User] => Array
(
)
)
)
Comme vous le voyez, il est le dernier tableau avec tableau vide [utilisateur], alors comment puis-je exclure ce tableau tableau vide (entier [2] Je veux dire) sans utiliser foreach/if blocs? Je sais que l'utilisation de bindModel fera tout aussi bien mais ce n'est pas pour ma question;) Alors, comment?
Merci! Comme résultat j'ai utilisé unbindModel/bindModel pour créer des jointures et contenir pour le filtrage de tableau de résultats. – purple