Php 如何将项目添加到多人关系中?
假设我有这个模型:Php 如何将项目添加到多人关系中?,php,yii,Php,Yii,假设我有这个模型: class Pizza extends CActiveRecord { //... public function relations() { return array( 'toppings' => array(self::MANY_MANY, 'Topping', 'pizza_toppings(pizza_id,topping_id)') ) } //... } 而另一个 cl
class Pizza extends CActiveRecord {
//...
public function relations() {
return array(
'toppings' => array(self::MANY_MANY, 'Topping', 'pizza_toppings(pizza_id,topping_id)')
)
}
//...
}
而另一个
class Pizza extends CActiveRecord {
//...
public function relations() {
return array(
'pizzass' => array(self::MANY_MANY, 'Pizza', 'pizza_toppings(topping_id,pizza_id)')
)
}
//...
}
假设数据库中存在三个表(pizza、topping、pizza\u toppings),其中包含pizza\u toppings的指定字段
我试过这个:
$pizza = new Pizza();
$pizza->save(false);//save, no validate
$topping = new Topping();
$topping->save(false);//save, no validate
$pizza->toppings[] = $topping;
但当我以这种方式添加时,我会收到一份E_通知,说这样的任务没有效果
Q:如何将Yii 1.1.15元素添加到M2M关系中?试试
$pizza->toppings=array($topping)代码>
如果我没记错的话,他们禁止手动添加项目,但您可以随时更改整个数组
这是一个变通解决方案,我想它不是很干净,但它可以解决问题。如果有人有更好的解决方案,请张贴
我希望它有帮助下次会测试它。目前我使用的是中间模型