2017-08-10 83 views
1

我已經爲laravel創建了一個數據透視模型和表格,並在透視模型中添加了額外的字段。但是當調用數據透視表時,額外的字段不會顯示。如何從數據透視表中獲得額外的字段 - laravel

我有一個客戶模型和標籤模型。而一個名爲CustomerTag 支點創造了標籤用戶使用

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

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

但是,當我打電話結果

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

結果沒有priority場增加了額外的惡魔到數據透視表。

回答

2

你必須調用建立用戶模型的關聯時withPivot功能:

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

,然後得到結果時稱之爲:

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

在多對多的關係標籤有多個結果

嘗試

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

或使用循環

foreach ($user->tags as $tag){ 
    dd($tag->pivot); 
} 
相關問題