私は3つのテーブル: project
,amenities
およびproject_amenities
を持っています。cakephp:関連付けられていない別のモデルにアクセスする方法
私はプロジェクトフォームのみを追加します。私は、初めてアメニティテーブルとproject_amenitiesテーブルに追加された新しいアメニティを追加します。
だから私はこれらの関係を定義した:
Project hasMany Amenities
Amenity belongsTo Project
私はprojects_controller
に宣言: var $uses = array('Amenity');
これはここ
if (!empty($this->data)){
$this->Project->create();
私の追加アクションのためにエラーが発生します10
Notice (8): Undefined property: ProjectsController::$Project [APP\controllers\projects_controller.php, line 60]
として編集 また、私が行うことはできません:あなたはあなたの$でプロジェクトモデルは、変数を使用して指定する必要があります
$this->Amenity->create();
$insertData = array('name' => $this->data['Project']['Amenity'][$i]['name']);
$this->Amenity->save($insertData);
でも、これはできません。 $ this-> Amenity-> create(); \t $ insertData = array( 'name' => $ this-> data ['Project'] ['Amenity'] [$ i] ['name']); \t \t \t \t \t $ this->アメニティ - > save($ insertData); – vibha
テーブルの名前で判断すると、 'Project <->アメニティ'関連を[HABTM](http://book.cakephp.org/view/1044/hasAndBelongsToMany-HABTM)に変更し、 'project_amenities'の名前を' projects_amenities'です。 – lxa
はいproject_amenitiesをprojects_amenitiesにリネームしました... hasMany Projects ...と同様に施設内のリレーションシップを変更しました。このテーブルの挿入は機能していません – vibha