1

以下のコードを使用していますが、Cakephp でエラーが発生します:「モデル "コメント" はモデル "ユーザー" に関連付けられていません」

$this->Paginator->settings = array(
            'contain' => array_merge(
                    array(
                        'Comment' => array(
                            'limit' => 1,
                            'User' => array(
                                'fields' => array('username','id'),
                            ),
                        )
                    ),
            ),
            'recursive' => 1,
            'conditions' => $conditions,
            'limit' => 10,                    
    );

    $posts = $this->Paginator->paginate('Post');

ユーザー モデル:

public $hasMany = array(
     'Comment' => array(
        'className' => 'Comment',
        'foreignKey' => 'author',
        'dependent' => false
    ),
);

そしてコメントモデルで:

    public $belongsTo = array(
    'User' => array(
        'className' => 'User',
        'foreignKey' => 'author',
    )
);
4

1 に答える 1

0

まず使ってはいけない

'再帰的' => 1
収容可能な動作で。この動作は、必要に応じて関連するモデルを取得するためのものであるため、AppModel クラスに追加します
公開 $再帰 = 0
. 次にコントローラーで試してください:

$this->paginate['User'] = array(
            'conditions' => $conditions,
            'limit' => 10, 
            'contain' => array(
                        'Comment' => array(
                            'limit' => 1,
                            'User' => array(
                                'fields' => array('username','id'),
                            ),
                        )
            ),
);
于 2013-10-15T07:51:05.497 に答える