最近Laravel4で作業を開始しました。ピボットテーブルのデータを更新する際に、多少の関係がある場合に、いくつかの問題に直面しています。多対多リレーションの場合のピボットテーブルの更新laravel4
状況は次のとおりです。 私は2つのテーブルがあります。製品、で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);
をしかし、今、私は、このピボットテーブル内のデータを更新する、データを更新するための最良の方法は何ですかピボットテーブルに移動します。 たとえば、一部のタグを削除して特定の製品に新しいタグを追加したいとします。
あなたが情報を読みましたドキュメント?助けてくれますか?http://four.laravel.com/docs/eloquent#working-with-pivot-tables –
@PhillSparks:はい、私はこの文書を読んでいます。それぞれのidとinsertとdeleteの配列をとるが、私のピボットテーブルが両方のテーブルのid以外の属性を持っている場合は、これを行うsyncというメソッドがあります。 syncメソッドは、整数の配列ではなくオブジェクトの配列をとる必要があります。 – Sameer
Eloquentは、ピボットテーブルにID列を使用して行を参照する単純なテーブルデザインを促進します。 Eloquentは、より包括的なORMソリューションが用意されているため、他のデータベース設計に対応するように設計されていませんでした。 –