web-dev-qa-db-ja.com

Laravel:特定の多対多リレーションのピボットデータを取得する

私のUserモデルには多くのTargetがあり、その逆も同様です。今、私は与えられたUserと与えられたTargetを手に入れ、それらの関係からピボットデータにアクセスしたいと思います。ピボット列はtypeと呼ばれます

どうすればこれを達成できますか?

37
Strernd

UserTargetの両方の関係で、その列を含めるようにLaravelと指示する->withPivot('type')を追加します。結果セットがあれば、_$user->pivot->type_でフィールドにアクセスできます。

コレクションを反復処理していないが、ユーザーとそのターゲットの1つがあり、typeフィールドが必要な場合は、$target = $user->targets->find($targetId)を使用して、_$target->pivot->type_で型にアクセスできます。 。

詳細は http://laravel.com/docs/4.2/eloquent#working-with-pivot-tables

69
maknz