Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Cakephp - Contain (einhaltbares Verhalten) ruft zu viel ab

Ihre Modelle scheinen sich überhaupt nicht zurückhaltend zu verhalten. Haben Sie Ihre Modelle so eingestellt, dass sie als Containment fungieren?

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

Wenn ja, liegt das Problem vielleicht an der Rekursion (um zu vermeiden, dass die Group Array mit der Abfrage). Containable-Verhalten sollte die Rekursionsebene selbst handhaben, aber versuchen Sie, sie auf dem AppModel festzulegen, nur um sicherzugehen

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

Ihr erster Versuch

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

sieht syntaktisch gut aus, also wahrscheinlich actAs Sache.

Versuchen Sie auch zum Debuggen

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

und sehen Sie, ob Sie auf diese Weise die erwarteten Ergebnisse erzielen.