このトピックについて見つけたすべてのスレッドを調べましたが、問題を解決するものは何もありません。
「customers」テーブルと「employees」テーブルがあり、「customers_employees」テーブルを介して接続する必要があります。
私のフォームでは従業員を選択できますが、データを保存したいときは、キーではなく「作成」および「変更」エントリのみを保存します。
従業員の文字列 ID は CHAR(36) です。
これは、「従業員」モデルへの私のエントリです。
public $hasAndBelongsToMany = array(
'Customer' => array(
'className' => 'Customer',
'joinTable' => 'customers_employees',
'foreignKey' => 'employee_id',
'associationForeignKey' => 'customer_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
これは、「顧客」モデルの私のエントリです。
public $hasAndBelongsToMany = array(
'Employee' => array(
'className' => 'Employee',
'joinTable' => 'customers_employees',
'foreignKey' => 'customer_id',
'associationForeignKey' => 'employee_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
リクエスト配列は次のようになります。
Array
(
[Customer] => Array
(
[id] => 10000
[name] => XXXXX
[name2] => XXXXX
[address] => XXXXX
[address2] =>
[country_code] =>
[plz] => 12345
[place] => XXXXX
[tel] => XXXXX
[fax] => XXXX
[mail] => XXXXX
[customer_price_group] => XX
[allow_discount_line] => XX
[payment_code] => 0
[terms_of_delivery_id] => XXX
[closed] =>
[uSt_IdNr] => DEXXXXXXXXX
[information] =>
[conditions] => XX
)
[Employee] => Array
(
[Employee] => Array
(
[0] => EMPXXX
)
)
)
ここでは、customers_employees への INSERT クエリを示します。
INSERT INTO `appsbf_db6`.`customers_employees` (`modified`, `created`) VALUES ('2012-07-26 06:40:22', '2012-07-26 06:40:22')
私の間違いはどこですか?
助けてくれてありがとう!