Я пытаюсь назначить роль пользователю, используя сеялку, но постоянно получаю эту ошибку:
Нарушение ограничения целостности: 1452 Не удается добавить или обновить дочернюю строку: ограничение внешнего ключане удается (internshipweb
. user_has_roles
, ОГРАНИЧЕНИЕ user_has_roles_role_id_foreign
ИНОСТРАННЫЙ КЛЮЧ (role_id
) ССЫЛКИ roles
(id
) ...
Не могу понять, почему он выигралне работает:
Это моя модель пользователя:
<?php
namespace App\Models\Website;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use Notifiable, HasRoles;
protected $connection = 'mysql2';
protected $guard = 'webuser';
protected $fillable = [
'email', 'password', 'username', 'permissions', 'first_name', 'last_name', 'avatar'
];
protected $hidden = [
'password'
];
}
Это моя сеялка:
<?php
use Illuminate\Database\Seeder;
use App\Models\Website\User;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
class WebUserSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Role::create([
'name' => 'admin'
]);
$user = User::create([
'email' => 'admin@gmail.com',
'username' => 'admin',
'password' => bcrypt('password'),
'first_name' => 'Add',
'last_name' => 'Min'
]);
$user->assignRole('admin');
}
}
Я попытался очистить кеш и конфигурацию. Я могуКажется, я не нашел никого с такой же проблемой. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.