laravel-5.5使用 permission 出现 Column 'model_id' cannot be null?

发布于 2022-09-06 07:54:15 字数 1229 浏览 22 评论 0

错误信息

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'model_id' cannot be null (SQL: insert into `ks_model_has_permissions` (`model_id`, `model_type`, `permission_id`) values (, App\User, 2))

调下面这句出现的错误

$user->givePermissionTo('add articles');

详细代码片段

appUser.php

<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
    use Notifiable;
    use HasRoles;
    protected $fillable = [
        'name', 'email', 'password',
    ];
    protected $hidden = [
        'password', 'remember_token',
    ];
}

appHttpControllersHomeController.php

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use app\User;
class HomeController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }
    public function index(User $user)
    {
             $user->givePermissionTo('add articles');
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

提赋 2022-09-13 07:54:15
$user = User::findOrFail($id); //$id 指的是users的ID,也就是用户ID

那么model_id指的是什么? 就是App\User User模型的ID

相关资料

资料1
资料2

烟凡古楼 2022-09-13 07:54:15
 Column 'model_id' cannot be null (SQL: insert into `ks_model_has_permissions` (`model_id`, `model_type`, `permission_id`) values (, App\User, 2))
  • 很明显了啊 model_id 字段不能为空,你看看你 SQL : values (, App\User, 2)
千柳 2022-09-13 07:54:15

values ('', AppUser, 2) 没有用过,但没值也给传个空的吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文