无法删除权限(klaravel / ntrust) - Laravel 5.3

时间:2017-08-17 08:07:18

标签: php laravel laravel-5.3 acl

我在laravel 5.3应用程序中使用klaravel / ntrust包进行ACL。 一切正常,除了删除许可。

配置/ ntrust.php

'admin' => [

    User table name     
    'table' => 'cushbu_admin',

    User model      
    'model' => 'Modules\Admin\Models\Admin',

    Ntrust Role Model
   'role' => 'Modules\Admin\Models\AdminRole',

    Ntrust Roles Table     
    'roles_table' => 'cushbu_admin_roles',

    Ntrust Permission Model
    'permission' => 'Modules\Admin\Models\AdminPermission',

    Ntrust Permissions Table
   'permissions_table' => 'cushbu_admin_permissions',

    Ntrust permission_role Table
    'permission_role_table' => 'cushbu_admin_permission_role',

    Ntrust role_user Table
   'role_user_table' => 'cushbu_admin_role_user',

    User Foreign key on Ntrust's role_user Table (Pivot)
    'user_foreign_key' => 'user_id',

   Role Foreign key on Ntrust's role_user and permission_role Tables 
   (Pivot)
    'role_foreign_key' => 'role_id',

    Permission Foreign key on Ntrust's permission_role Table (Pivot)
    'permission_foreign_key' => 'permission_id',

],

当我尝试删除“我收到此错误

”时
  

SQLSTATE [42S22]:未找到列:1054未知列' admin_role_id'   在'字段列表' (SQL:从中选择admin_role_id   admin_permission_role其中admin_permission_id = 3)

我还没有在任何地方指定admin_role_id,admin_permission_id,而是存在role_id,permission_id。

权限模式

<?php

namespace Modules\Admin\Models;

use Illuminate\Database\Eloquent\Model;
use Klaravel\Ntrust\Traits\NtrustPermissionTrait;
use Vinkla\Hashids\Facades\Hashids;

class AdminPermission extends Model
{
    use NtrustPermissionTrait;

    /*
     * Role profile to get value from ntrust config file.
     */
    protected static $roleProfile = 'admin';

    protected $table = 'cushbu_admin_permissions' ;

    protected $fillable = ['name','display_name'];

    //Get hashid
    public function getRouteKey() {
        return Hashids::encode($this->getKey());
    }
}

permission_table

id,name,display_name,description

permission_role_table

permission_id,role_id

1 个答案:

答案 0 :(得分:0)

我将permission_id,role_id分别更改为admin_permission_id,admin_role_id在数据库中。解决了这个问题。