我想为多家供应商构建一个CRUD系统,以便在数据库中创建他们的产品。
到目前为止,我已经做到了这一点,供应商可以创建,读取,更新,删除数据库中的所有产品。但我想要做的是每个供应商应该只对他创建的产品进行CRUD。我怎样才能做到这一点?
用户和产品之间的关系是:
在产品型号中:
public function user(){
return $this->belongsTo('App\User', 'id');
}
在用户模型中:
public function products() {
return $this->hasMany('App\Product');
}
我正在展示这样的产品:
@foreach ($products as $product)
<tr>
<td>{{ $product->id }}</td>
<td>{{ $product->title }}</td>
<td>{{ $product->description }}</td>
</tr>
@endforeach
我应该使用数据透视表吗?任何帮助表示赞赏!
答案 0 :(得分:3)
选项1
获取所有经过身份验证的用户使用单个查询创建的产品:
$products = Product::where('user_id', auth()->user()->id)->get();
然后迭代产品:
@foreach ($products as $product)
选项2
您可以load()
个产品:
auth()->user()->load('products');
然后迭代:
@foreach (auth()->user()->products as $product)