2013-02-17 37 views
0

許多habtm協會我有User模型和Speciality模型。 Speciality HABTM User保存在一個查詢

鑑於speciality_id和數組user_id我想添加許多用戶到給定的專業。到目前爲止,我嘗試:

foreach($users as $user_id) { 
    $data[] = array(
     'Speciality' => array('id' => $this->Speciality->id), 
     'User' => array('id' => $user_id), 
    ); 
} 
if(!empty($data)) { 
    $this->Speciality->saveAll($data); 
} 

但在specialities_users表僅保存一行,並非所有的關聯......我的目標是能夠achived大插入到強制表specialities_users與(speciality_id,USER_ID)對,但我想在Cake中實現這一點。

+1

你總是可以創造的specialties_users表(SpecialtiesUser)的模型,並插入使用該模型的數據,雖然也有其他的選擇,這將可能是最好最有效的方法如果你需要插入一個長列表:) – thaJeztah 2013-02-17 17:00:42

+0

可以通過尋找'hasManyThrough'找到更多關於@thaJeztah在說什麼的細節 - 我同意他/他 – Dave 2013-02-17 20:30:05

回答

0

看看我對這個問題的回答,基本上是一回事。

你必須創建數組(不創建它會更新),檢查它是否已經在數據庫中 - 如果沒有,保存它。

看看這裏:

Cakephp save Session to db after login