【问题标题】:laravel show multiple data in datatableslaravel 在数据表中显示多个数据
【发布时间】:2020-02-17 08:51:22
【问题描述】:

我使用 laravel spatie 权限包,需要在数据表列表中显示每个用户的用户角色。现在我添加数据表addColumn 方法:

$items = Admin::orderBy('id','DESC');

return DataTables::of($items)
    ->addColumn('role',function(Admin $admin){

        foreach($admin->getRoleNames() as $v){
            return $v;
        }

    })
    ->toJson(); 

此代码工作并显示每个用户的角色名称但如果用户有两个角色名称(多个角色)我的代码不起作用并且只显示第一个角色名称。即:对于用户test 我有两个角色名称:moderatoreditor 但我只看到版主。

如何在数据表列表中为每个用户显示多个角色名称?!

【问题讨论】:

    标签: php laravel laravel-5 datatables laravel-permission


    【解决方案1】:
    public function roles()
    {
        return $this->hasMany('App\Role');
    }
    
    public function user()
    {
        return $this->belongsTo('App\User');
    } 
    

    我认为您应该将这些方法添加到您的 user 模型中,并将第二个方法添加到您的 role 模型中

    【讨论】:

      【解决方案2】:

      我发现了这个并且工作正常:

      return DataTables::of($items)
          ->addColumn('roles',function(Admin $admin){
      
              return $admin->roles->pluck('name')->toArray();
          })
          ->toJson();
      

      【讨论】:

        猜你喜欢
        • 2021-07-19
        • 2021-09-08
        • 2020-05-12
        • 1970-01-01
        • 1970-01-01
        • 2019-10-21
        • 1970-01-01
        • 2020-04-09
        • 1970-01-01
        相关资源
        最近更新 更多