2017-06-26 4 views
0

私はデータベースのbelongsToMany関係でデフォルトの "置換"戦略を使用しています。しかし、1つのGUI状況では、代わりに「追加」戦略を使用する必要があります。保存時にbelongsToManyのsaveStrategyを指定しますか?

1回のsave()呼び出しでbelongsToMany関係のsaveStrategyを指定するにはどうすればよいですか?

具体的には、私の結合テーブルには他のフィールドがあるので、私は_joinDataを指定する必要があるので、link()メソッドを使うことはできません。ここでは、コードです:

$this->JobOrdersEducations->patchEntity($joe, 
      [ 
       'degree_disciplines' => [ 
        [ 
         'id' => $degree_discipline_id, 
         '_joinData' => [ 
          "criticality_id" => $criticality_id 
         ] 
        ], 
       ] 
      ] 
    ); 
    $this->JobOrdersEducations->save($joe); 

答えて

0

あなたは即座に戦略を変更することができます。

$this->JobOrdersEducations->association('DegreeDisciplines')->saveStrategy('replace'); 
+0

おかげで、私は会合法については知りませんでした。セッションの残りの部分、またはこの呼び出しのために、これがアソシエーションの保存戦略を変更しますか? –

+0

コードを見ると、セッションに設定されているように見えます。 –

関連する問題