2017-06-26 15 views
0

我在我的數據庫中使用了belongsToMany關係中的默認「替換」策略。但是,在一種GUI情況下,我需要使用「追加」策略。保存時爲belongsToMany指定saveStrategy?

如何爲單個save()調用指定一個belongsToMany關係的saveStrategy?

更具體地說,我不能使用link()方法,因爲我的連接表有其他字段,所以我需要指定_joinData。下面的代碼:

$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

從查看代碼看來,它會爲會話設置。 –

相關問題