Mysql
 sql >> Base de données >  >> RDS >> Mysql

Cakephp - contient (comportement contenu) récupère trop

Vos modèles ne semblent pas du tout agir de manière contenue. Avez-vous configuré vos modèles pour qu'ils agissent comme contenus ?

class Post extends AppModel {
    public $actsAs = array('Containable');
}

Si c'est le cas, le problème vient peut-être de la récursivité (pour éviter d'obtenir le Group tableau avec la requête). Le comportement contenu doit gérer le niveau de récursivité par lui-même, mais essayez de le définir sur l'AppModel juste pour être sûr

class AppModel extends Model {
    public $actsAs = array('Containable');
    public $recursive = -1;

Votre première tentative

    'contain'       => array(
        'User'          => array(
            'fields' => array('id', 'fullName')
        ),
    )

semble bon en termes de syntaxe, donc c'est probablement le actAs chose.

Aussi, pour le débogage également, essayez

$this->Membership->contain('User');
$this->Membership->find('all', array(
    'conditions'    => array(
            'group_id'      => $id
        ));

et voyez si vous obtenez les résultats escomptés de cette façon.