多个CRUD系统Laravel 5.2

时间:2017-01-08 10:16:22

标签: php laravel laravel-5 crud

我想为多家供应商构建一个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

我应该使用数据透视表吗?任何帮助表示赞赏!

1 个答案:

答案 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)