약간의 문제가 있습니다. My Commodity 모델에는 Has가 있고 사용자 모델과 많은 연관이 있습니다. DB에서 그들은 commodities_users
테이블을 통해 관련되어 있습니다. 그래서, 나는 새로운 상품이 생성되었을 때 Cakephp가 DB의 commodities_users
테이블에 새로운 레코드를 생성하기를 원합니다. 그러나 그것은 효과가 없습니다. 내 $this->request->data
배열 (나는 하나 개의 새로운 상품을 저장하려는)이cakephp에 HABTM 관련 데이터 저장
array(
'Commodity' => array(
'commodity_type' => '0',
'commoditygroup_id' => '',
'name' => 'asdfad',
'code' => '',
'ean' => '',
'costprice' => '',
'saleprice' => '12512,123',
'default_vatrate' => '',
'saleprice_gross' => '',
'sync_cashconnector' => '1',
'commoditysetting_id' => '',
'default_amount_enabled' => '0',
'default_amount' => '',
'stock_min' => '',
'stock' => '',
'comment' => ''
),
'User' => array(
(int) 0 => array(
'id' => '23'
),
(int) 1 => array(
'id' => '24'
),
(int) 2 => array(
'id' => '30'
),
(int) 3 => array(
'id' => '31'
)
));
처럼 보인다 그리고 나는 상품 모델을 $this->Commodity->saveAll($this->request->data);
내 CakePHP의 버전은 2.4입니다 이런 식으로 저장하고 있습니다. 관계는
var $hasAndBelongsToMany = array(
'User' => array(
'className' => 'User',
'joinTable' => 'commodities_users',
'foreignKey' => 'commodity_id',
'associationForeignKey' => 'user_id',
),
);
내가 뭘 잘못하고 있니?
cakephp 버전을 언급하지 않았고 모델 코드와 테이블 스키마에도 관계를 표시하지 않았습니다. 만약 당신이 그것을 더 쉽게 공유 할 수 있다면 – tarikul05
@ tarikul05,보세요, 제가 약간의 변화를했습니다. – Vladislav
당신은 당신의 관계에 ** "public"** instate **를 추가 하시겠습니까? – tarikul05