php - 多CRUD系统Laravel 5.2

标签 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

获取经过身份验证的用户使用单个查询创建的所有产品:

$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)

关于php - 多CRUD系统Laravel 5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41531588/

相关文章:

php - Doctrine 2 : calling flush multiple times

php - 解析HTML div ID包括所有内部内容

php - 尝试简化 MySQL 查询

Laravel Pusher 异常 : "Illuminate\Broadcasting\BroadcastException"

php - 在数据库中保存一个列表,然后显示列表。拉维

php - Laravel 5.6 缓存存储数千个值,全部称为 :timer

php - 用于 rest api 的 laravel 表单请求验证消息

nginx 的站点位于与 url 结尾不匹配的子目录中

php - 代码点火器。如何在表 int() 列中插入时间戳格式的字符串值

php - Laravel 查询生成器,如何让 1 领先于 where ,另一个领先于 orwhere ?