少し問題があります。 My CommodityモデルにはHasがあり、Userモデルとの関連性が高い。 DB内ではcommodities_users
テーブルに関連しています。ですから、新しい商品が作成されたときに、CakephpがDBのcommodities_users
テーブルに新しいレコードを作成したいと思います。しかし、それは動作しません。 マイ$this->request->data
配列(私は1個の新しい商品を節約したい)この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 ** ** "var" **をあなたの関係に追加してください。 – tarikul05