Restaurant、RestaurantAddresses、RestaurantCuisines、Cuisineの4つのモデル。
View / Restaurants / index.ctpのページから、すべてのレストラン、住所、料理の種類を表示できます。
ただし、表示アクションと編集アクションをコーディングできません。両方のアクションに使用しているコードは次のとおりです。
アクションの編集(コード):
編集は機能しますが、Restaurant_AddressesテーブルとCucinesテーブルに2つのエントリが追加されます。
public function edit($ id = null){$ this-> Restaurant-> id = $ id;
$this->loadModel('Cusine');
$model_cusine_edit_data = $this->Cusine->find('list');
$this->set('CusineEditList', $model_cusine_edit_data);
if (!$this->Restaurant->exists()) {
throw new NotFoundException('Invalid Restaurant');
}
if ($this->request->is('post') || $this->request->is('put')) {
$this->Restaurant->save($this->request->data);
$this->Session->setFlash('The restaurant has been saved');
$this->redirect(array('action' => 'index'));
} else {
$this->request->data = $this->Restaurant->read();
}
}
アクションの表示(コード):
次のコードはレストランのみを表示します。名前情報、通りと郵便番号を見ることができません。
public function view($ id = null){$ this-> Restaurant-> id = $ id;
if (!$this->Restaurant->exists()) {
throw new NotFoundException('Invalid user');
}
if (!$id) {
$this->Session->setFlash('Invalid user');
$this->redirect(array('action' => 'index'));
}
$this->set('restaurant', $this->Restaurant->Read());
}