2017-08-10 16 views
1

laravelのピボットモデルとテーブルを作成し、ピボットモデルに余分なフィールドを追加しました。しかし、ピボット・データを呼び出すときに余分なフィールドは表示されません。ピボットテーブルから余分なフィールドを取得する方法 - laravel

私はCustomerモデルとTagモデルを持っています。そしてCustomerTag と呼ばれるピボットは、タグを使用してユーザーを作成し、priorityフィールドを持っていない結果

$use = User::find($id); 
dd($user->tags->pivot); 

結果を

$user = User::create([ 
    'name' => 'User 1' 
]); 
$tag = 1; 

$user->tags()->attach($tag, ['priority' => 1]); 

を使用してしかし、私は呼び出し時に、ピボットテーブルに余分な悪魔を追加しました。

public function tags() 
{ 
    return $this->belongsToMany(Tag::class, 'customer_tag', 'user_id', 'tag_id') 
       ->withPivot('priority'); 
} 

、その後、結果を取得するときに呼び出す:あなたはUserモデルにアソシエーションを確立するとき withPivot機能を呼び出す必要があり

答えて

2

多くの関係タグに多くで

$tags = $user->tags; 
foreach ($tags as $tag) { 
    $priority = $tag->pivot->priority; 
} 
0

は、複数の結果を持っています

try

dd($user->tags[0]->pivot); 

またはループを使用

foreach ($user->tags as $tag){ 
    dd($tag->pivot); 
} 
関連する問題