나는 레서피, 아이템 및 유닛 테이블/모델을 가지고 있습니다. Recipe 및 Item과 HABTM 관계가 있으며 Recipe를 추가/편집 할 때 기본 다중 선택 상자가 나타납니다. (대부분 Bake를 사용하고 있습니다). 문제는 수량과 단위를 각 항목과 연관시켜야한다는 것입니다. UI의예쁜 HABTM리스트 엔트리
샘플 난을 기대 해요 :
그것의 큰 구성 요소 추가/삭제/개별 항목을 편집 할 수있는 기능입니다. 제출 된 양식 데이터를보고 상상해보십시오. 일부 jquery와 복제본을 사용하면 효과가 있습니다. 그러나 누군가 이미 이미 이것을 위해 행동을 이미 창조했는지 궁금합니다.
현재 모델 (즉, 해당 물건 단축이 제거 된 사용자/노트/등) :
class Item extends AppModel {
var $name = 'Item';
// id : int
// name : varchar
// unit_id : int
var $belongsTo = array(
'Unit' => array(
'className' => 'Unit',
'foreignKey' => 'unit_id'
),
);
var $hasAndBelongsToMany = array(
'Recipe' => array(
'className' => 'Recipe',
'joinTable' => 'recipes_items',
'foreignKey' => 'item_id',
'associationForeignKey' => 'recipe_id',
)
);
}
.
class Recipe extends AppModel {
var $name = 'recipe';
var $displayField = "name";
// id : int
// name : varchar
var $hasAndBelongsToMany = array(
'Item' => array(
'className' => 'Item',
'joinTable' => 'recipes_items',
'foreignKey' => 'recipe_id',
'associationForeignKey' => 'item_id',
)
);
}
.
class RecipesItem extends AppModel {
var $name = 'RecipesItem';
// id : int
// quantity : int
// unit_id : int
// recipe_id : int
// item_id : int
var $belongsTo = array(
'Unit' => array(
'className' => 'Unit',
'foreignKey' => 'unit_id'
),
'Recipe' => array(
'className' => 'Recipe',
'foreignKey' => 'recipe_id'
),
'Item' => array(
'className' => 'Item',
'foreignKey' => 'item_id'
)
);
}
는, CakePHP의이 RecipesItem에 연결 (당신이 HABTM 관계의 속성을 허용하지 않습니다). 나중에, 당신은 RecipesItem에 대한 MVC를 구울 수 있고 모두 완료됩니다. 당신이 요구 한 것을 성취하기 위해, 구운 추가 뷰를 Recipes add 메소드로 "이동"하여 JS에 필요한 변경을 가할 수 있습니다. – tvdias