如何展示属于一个用户背包Laravel的产品?

时间:2018-06-22 11:36:07

标签: laravel-5 backpack-for-laravel

在我的VendorsCrudController中,建立关系1-n: ```

$this->crud->setModel('App\User');
$this->crud->addField([   // Address
            'name' => 'vendor',
            'type' => 'select',
            'entity' => 'vendor', // the method that defines the relationship in your Model
            'attribute' => 'name',
            'model' => 'App\Dispensary',
        ]);
```
In User modal have method:
```
public function dispensaries() {
        return $this->hasMany('App\Dispensary');
    }

In Dispensary model:
public function vendor() {
        return $this->belongsTo('App\User', 'user_id');
    }

``` 表结构: (用户) id:1,名称:某人 id:2,名称:Someone2 (药房) id:1,user_id:1,名称:SomeDispensary id:2,user_id:2,名称:SomeDispensary

如何显示属于一个用户的产品。现在,我为一位用户提供了所有产品

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式过滤CRUD表:

  • 您可以强制使用addClause(take a look here under ADVANCED QUERIES)始终对结果进行过滤;例如,此方法很有用,仅允许用户查看自己的商品(例如:$this->crud->addClause('where', 'user_id', '=', backpack_user()->id););

  • 您可以在CRUD表上方插入一个过滤器,以帮助管理员过滤他喜欢的结果(take a look at filters);

希望有帮助。