duankun9280 2017-08-17 08:07
浏览 72
已采纳

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

I'am using klaravel/ntrust package for ACL in my laravel 5.3 application. Everything working fine except deleting permission.

config/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',

],

when i try to delete i'am getting this error

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'admin_role_id' in 'field list' (SQL: select admin_role_id from admin_permission_role where admin_permission_id = 3)

I haven't specified admin_role_id, admin_permission_id anywhere, rather exist role_id, permission_id.

Permission model

<?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条回答 默认 最新

  • dongshijiao6890 2017-08-17 09:04
    关注

    i changed permission_id, role_id to admin_permission_id, admin_role_id respectively in database.that solved the issue.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败