回答編集履歴

2

追記

2017/10/16 07:46

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -21,3 +21,25 @@
21
21
 
22
22
 
23
23
  CakePHPのマニュアルとしては、[BelongsToMany アソシエーションの保存](https://book.cakephp.org/3.0/ja/orm/saving-data.html#id18)が参考になると思います。
24
+
25
+
26
+
27
+ **追記**
28
+
29
+ まずは、フォームの$this->request->getData()を使わず、以下の配列の値で保存できるかやってみたらどうでしょうか
30
+
31
+ ```
32
+
33
+ $data = [
34
+
35
+ 'subject_idx' => 1,
36
+
37
+ 'subject_equipments' => [
38
+
39
+ '_ids' => [1, 2, 3, 4]
40
+
41
+ ]
42
+
43
+ ];
44
+
45
+ ```

1

誤字

2017/10/16 07:46

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- まず、コントローラ側の`$this->Subject->saveMany($subject)`は$this->Subject->save($subject)が正しいと思います。保存しようとしてるエンティティは1つだからです。アソシエーションを一緒に保存する場合でもsave()です。
5
+ まず、コントローラ側の`$this->Subject->saveMany($subject)`は`$this->Subject->save($subject)`が正しいと思います。保存しようとしてるエンティティは1つだからです。アソシエーションを一緒に保存する場合でもsave()です。
6
6
 
7
7
 
8
8
 
9
- 後は、テンプレート側も問題だと思います。Form->controlの第一引数であるフィールド名の指定の仕方は若干ややこしいです。
9
+ 後は、テンプレート側も問題だと思います。`$this->Form->control()`の第一引数であるフィールド名の指定の仕方は若干ややこしいです。
10
10
 
11
11
  * `subject.subject_idx`は、`subject_idx`でいいはずです。subject自身であれば、`subject.`を指定しません。
12
12