sql >> Databáze >  >> RDS >> Mysql

Cakephp – obsahuje (kontejnovatelné chování) načítá příliš mnoho

Zdá se, že vaše modely vůbec nepůsobí uzavřeně. Nastavili jste své modely tak, aby fungovaly jako zadržitelné?

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

Pokud ano, možná je problém s rekurzí (aby se zabránilo získání Group pole s dotazem). Obsažitelné chování by mělo úroveň rekurze zvládnout samo, ale pro jistotu ho zkuste nastavit na AppModel

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

Váš první pokus

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

vypadá dobře z hlediska syntaxe, takže to pravděpodobně bude actAs věc.

Pro ladění také zkuste

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

a uvidíte, zda tímto způsobem dosáhnete očekávaných výsledků.




  1. Rozdíl mezi NOW(), SYSDATE() &CURRENT_DATE() v MySQL

  2. 3 způsoby, jak získat jazyk aktuální relace na serveru SQL (T-SQL)

  3. Jak získat data z databáze pomocí webových služeb (JAX - RS) v Eclipse pomocí Java

  4. Aktualizujte sloupec stejné tabulky, pokud existují duplicitní záznamy