2012-04-06 63 views
0

我是一個初學者。在這裏,我想問你們所有人,我怎樣才能在三個表格(表格A-B,表格B)中保存多對多的關係?現在我想保存新的ID到表格中的一個新的記錄,我有表B中的一些資料,我想將它們保存到中間表AB依賴於表A的ID。如果任何人有這樣的經驗,請請分享。 實施例:保存多對多的關係在DataMapper的ORM - 笨

$a = new modelA(); 
$a->name = ‘new name’; 
$a->des = ‘something to say’; 

$b = new modelB(); 
$IDs = new array(1,2,3); //IDs of records in table B 


$a->save(array($IDs=>$b)); 

回答

1

傳遞不被支持的ID,需要DataMapper的對象,以便能夠涉及。

如果你有ID的數組,你可以使用where_in()查詢獲取的對象,然後保存使用關係

$a->save($b->all); 
+0

我只是想新的記錄保存到表A和保存表A的新記錄的ID與表B中的許多ID添加到中間表(表A-B),因爲表A中有許多與表B.一對多關係 – chantheoun 2012-04-07 09:06:10

0

我有一些值從交形式一樣得到:

  • '新名稱'
  • '新說明'
  • 陣列( 'VAL1', 'val2的', 'VAL3')

我想在表A中保存一條新記錄: - 'new name' - 'new description' and array('val1','val2','val2')我得到了ID他們從表B有許多與表A(一個新的記錄要保存)。

所以,當我保存到表A,B表的ID也保存到中間表A-B與表A中我只保存新的ID。如何保存?