1

私はこのモデルを手に入れました:

class CompanyRestaurantRequest extends AppModel
{
    public $name = "CompanyRestaurantRequest";      
    //public $actsAs = array('Containable');        
    public $hasMany = array(
        "UserRestaurantRequestFeed" => array(
            'dependent' => true
        )
    );
}

class UserRestaurantRequestFeed extends AppModel{
    public $name = "UserRestaurantRequestFeed";         
    public $belongsTo = array("CompanyRestaurantRequest");
    public $hasMany = array("UserRestaurantRequestFeedResponse");
}

class UserRestaurantRequestFeedResponse extends AppModel{
    public $name = "UserRestaurantRequestFeedResponse";

    public $belongsTo = array("UserRestaurantRequestFeed");

}

そして、私は次のように CompanyRestaurantRequest をページ付けしようとしています:

$this->CompanyRestaurantRequest->recursive = 5;
$this->CompanyRestaurantRequestFeed->recursive = 5;
$this->paginate = array(
    'limit' => 10,
    'order' => array(
             'CompanyRestaurantRequest.id' => 'desc'
    )
);
$this->set('requests', $this->paginate("CompanyRestaurantRequest"));

問題は、CompanyRestaurantRequestFeedResponse が得られないことです。

私は ContainableBehavior を CompanyRestaurantRequest モデルにアタッチしようとしましたが、次のように paginate 設定でコンテイン キーを使用しました。

'contain' => array('CompanyRestaurantRequestFeedResponse');

何を試しても、CompanyRestaurantRequestFeeds に関連する CompanyRestaurantRequestFeedResponses を取得できません。

どうすればそれを機能させることができますか?

ありがとうございました!

4

1 に答える 1

0

行の挿入:

$this->paginate = array(
  'limit' => 10,
  'order' => array(
         'CompanyRestaurantRequest.id' => 'desc'
  )
);

すべての var が宣言されている Controller の先頭に、以下を追加します。

public $paginate = array(
  'CompanyRestaurantRequest' => array(
    'limit' => 10,
    'order' => array(
      'CompanyRestaurantRequest.id' => 'desc'
    )
  )
);

これで直るはず...

于 2012-09-18T13:37:51.683 に答える