2017-06-17 128 views
1

有3个表。产品,用户和product_user。 product_user表中有3个字段。 product_id,user_id和价格。Laravel附加许多额外的领域

product_id和user_id将自动附加和填充。但我想要一个名为价格的文本字段,用户将其填入数据库的价格字段中。

我的意思是我想在插入时插入一个文本字段。

+0

请告诉我们你已经试过了吗?你如何做到这一点? –

+0

谢谢你这是由Nikolas Diakosavvas所做的回答 –

回答

2

要首先在数据透视表中插入额外的字段,您需要在模型中指定这个额外的字段。

例如,这:

在产品型号

public function users() 
{ 
    return $this->belongsToMany('App\User', 'product_user') 
        ->withPivot('price'); 
} 

在用户模式

public function products() 
{ 
    return $this->belongsToMany('App\Product', 'product_user') 
        ->withPivot('price'); 
} 

后,在你控制,你可以将这个额外的领域是这样的:

$product->users()->attach($user_id, ['price'=> $price ]); 

我希望这会帮助你!

+0

非常感谢你,它按照我的意愿完美地工作。 –

+0

没有人!我很高兴我帮助你 –