sql >> Base de Datos >  >> RDS >> Mysql

Cakephp:contiene (comportamiento contenible) obtiene demasiado

Tus modelos no parecen estar actuando de forma contenida en absoluto. ¿Has configurado tus modelos para que actúen como contenibles?

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

Si es así, tal vez el problema sea con la recursividad (para evitar que el Group matriz con la consulta). El comportamiento contenedor debe manejar el nivel de recurrencia por sí solo, pero intente configurarlo en AppModel solo para estar seguro

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

Tu primer intento

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

se ve bien en términos de sintaxis, por lo que probablemente sea actAs cosa.

Además, para la depuración también, intente

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

y vea si obtiene los resultados esperados de esa manera.