laravel-5.5使用 permission 出现 Column 'model_id' cannot be null?
错误信息
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
那么model_id指的是什么? 就是
App\User
User模型的ID相关资料
资料1
资料2
model_id
字段不能为空,你看看你SQL
:values (, App\User, 2)
values ('', AppUser, 2) 没有用过,但没值也给传个空的吧