0

私は初心者です。ここで、多対多の関係を 3 つのテーブル (テーブル A 、テーブル Ab 、テーブル B) に保存するにはどうすればよいですか? 今、新しい ID を持つ新しいレコードをテーブル A に保存しようとしています。テーブル A の ID に応じて、それらを中央のテーブル AB に保存したいテーブル B の ID がいくつかあります。親切に共有してください。例:

$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));
4

2 に答える 2

1

IDの受け渡しはサポートされていません。Datamapperには、関連付けることができるオブジェクトが必要です。

IDの配列がある場合は、where_in()クエリを使用してオブジェクトをフェッチし、を使用して関係を保存できます。

$a->save($b->all);
于 2012-04-06T20:22:05.777 に答える
0

次のような投稿フォームから取得する値がいくつかあります。

  • '新しい名前'
  • 「新しい説明」
  • 配列('val1','val2','val3')

私のコントローラーでは、新しいレコードをテーブル A に保存したいと思います: - 'new name' - 'new description' and array('val1','val2','val2')テーブル A を使用した多対多 (新しいレコードが保存されます)。

したがって、テーブル A に保存すると、テーブル B の ID も中央のテーブル AB に保存され、テーブル AI の新しい ID が保存されます。保存する方法は?

于 2012-04-07T08:36:51.877 に答える