sql >> データベース >  >> RDS >> Mysql

Cakephp-contain(containablebehavior)フェッチが多すぎる

    あなたのモデルは、完全に封じ込めて行動しているようには見えません。モデルを封じ込め可能なものとして機能するように設定しましたか?

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

    もしそうなら、おそらく問題は再帰にあります(Groupの取得を避けるため) クエリを含む配列)。包含可能な動作は、再帰レベルをそれ自体で処理する必要がありますが、念のためにAppModelで設定してみてください

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

    あなたの最初の試み

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

    構文的には見栄えが良いので、おそらくactAs 事。

    また、デバッグについても試してみてください

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

    その方法で期待どおりの結果が得られるかどうかを確認してください。




    1. PostgreSQLトランザクション分離READUNCOMMITTED

    2. 2つの列(または配列)からの任意の整数に対するpostgresqlの一意性制約

    3. MySqlを使用して利用可能な部屋を確認する

    4. MySQL CASE ... WHERE...THENステートメント