我最近开始使用 Laravel4。在多对多关系的情况下,我在更新数据透视表数据时遇到了一些问题。
情况是:我有两个表:Product,ProductType。他们之间的关系是多对多。我的模型是
class Product extends Eloquent {
protected $table = 'products';
protected $primaryKey = 'prd_id';
public function tags() {
return $this->belongsToMany('Tag', 'prd_tags', 'prta_prd_id', 'prta_tag_id');
}
}
class Tag extends Eloquent {
protected $table = 'tags';
protected $primaryKey = 'tag_id';
public function products()
{
return $this->belongsToMany('Product', 'prd_tags', 'prta_prd_id', 'prta_tag_id');
}
}
在将数据插入数据透视表 prd_tags 时,我做了:
$product->tags()->attach($tag->tagID);
但是现在我想更新这个数据透视表中的数据,将数据更新到数据透视表的最佳方法是什么。假设我想删除一些标签并为特定产品添加新标签。