У меня проблема. Я новичок в Laravel, и я не знаю, как исправить проблему, которая возникает после попытки запустить команду PHP artisan DB: seed
Ошибка, которую он дает мне:
SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестное «имя» столбца в «Списке полей» (SQL: вставить в roles
(name
) значения (admin))
Connection. php: 458 PDOException: :( "SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестное имя столбца в 'списке полей'")
У меня есть этот код в Role. php file:
<?PHP
namespace App;
use Illuminate\Database\Eloquent\Model;
class Role extends Model {
public function user(){
return $this->belongsToMany('App\User');
}
public $timestamps = false; }
и в User. php file:
<?php
namespace App;
use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable;
...
public function roles()
{
return $this->belongsToMany('App\Role');
} }
и UserTableSeeder file:
<?php
use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Hash; use App\User; use App\Role;
class UserTableSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
User::truncate();
DB::table('role_user')->truncate();
$adminRole = Role::where('name', 'admin')->first();
$authorRole = Role::where('name', 'author')->first();
$userRole = Role::where('name', 'user')->first();
$admin = User::create([
'name' => 'Admin User',
'email' => 'admin@admin.com',
'password' => Hash::make('password')
]);
$author = User::create([
'name' => 'Admin User',
'email' => 'author@author.com',
'password' => Hash::make('password')
]);
$user = User::create([
'name' => 'User User',
'email' => 'user@user.com',
'password' => Hash::make('password')
]);
$admin->roles()->attach($adminRole);
$author->roles()->attach($authorRole);
$user->roles()->attach($userRole);
}
Как я могу решить это? Заранее спасибо!