【发布时间】:2011-05-28 08:53:58
【问题描述】:
我在 Orders 和 Sets 之间建立了多对多的关系。一个订单可以包含多个集合,不同的集合可以属于不同的订单。因为您可以在订单中为一组设置金额,所以应该有一个额外的金额列。 所以例如一个订单可以包含 5 个“Set A”和 10 个“Set B”。
这是连接表的架构:
OrderSet:columns:
amount: integer
order_id:
type: integer
primary: true
set_id:
type: integer
primary: true
到目前为止工作正常,我只是不知道如何设置金额列的值。
这就是我保存订单/设置订单关系的方式:
public function saveOrder($data){
$tempSets = $data->sets;
$order = new Order();
unset($data->sets);
$order->merge((array) $data);
foreach($tempSets as $set){
$q = Doctrine_Query::create()
->from('Set s')
->where('s.id = ?', $set->id);
$set = $q->fetchOne();
$order->sets->add($set);
}
$order->save();
}
如何设置每组的数量?
多对多感谢您的帮助。 干杯,弗洛里安
【问题讨论】:
标签: doctrine many-to-many doctrine-1.2