私はコントローラが2つあります: "CouponsController"と "CategoriesController"。それぞれのモデルは次のとおりです。CakePHP:コントローラ/リレーションシップ
class Category extends AppModel {
public $hasMany = array('Coupon' => array('className' => 'Coupon',
'foreignKey' => 'category_id')
);
}
class Coupon extends AppModel {
public $belongsTo = array('Category' => array('className' => 'Category',
'foreignKey' => 'category_id')
);
}
各カテゴリのクーポンを表示するリンクを作成します。私はCouponsController(この例では、レストランのためである)のために、以下のたを考え出すことになった:
1:私は2つの質問がある
public function restaurants() {
$this->set('coupons', $this->Coupon->findAllBycategory_id('1'));
$this->render("index");
}
は投稿のすべてを表示するための良い方法はあります(今は "ホテル"のための上記の関数をコピーして、カテゴリIDを変更するだけです)、毎回同じビューをレンダリングします。
2:私はそれをやっているよりも、特定のカテゴリ(より多くのOOP:すなわち:クーポン - >カテゴリなど)のクーポンにアクセスする良い方法はありますか?