У меня есть 2 таблицы, пользователи и авторы, и у меня есть их соответствующие модели. Но когда я пытаюсь посеять, возникает следующая ошибка:
Класс «Автор» не найден в
/var/www/html/shopping/database/seeds/AuthorsTableSeeder.php на линии
12Класс [Symfony \ Component \ Debug \ Exception \ FatalErrorException] «Автор» не найден
Ранее у меня была такая же проблема с таблицей пользователей, но я исправил ее, добавив use Illuminate\Foundation\Auth\User;
Вот мои авторы seeder.php
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;Class AuthorsTableSeeder extends Seeder {
public function run()
{
DB::table('authors')->delete();
Author::create(array(
'name' => 'Lauren',
'surname'=>'Oliver'
));
Author::create(array(
'name' => 'Stephenie',
'surname'=>'Meyer'
));
Author::create(array(
'name' => 'Dan',
'surname'=>'Brown'
));
}
}
и мой databaseseeder.php ниже
<?php
use Illuminate\Database\Seeder;class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Eloquent::unguard();
$this->call('UsersTableSeeder');
$this->command->info('Users table seeded!');
$this->call('AuthorsTableSeeder');
$this->command->info('Authors table seeded!');
}
}
Также здесь мой папка сайта также.
я нашел ответ. проблема была с синтаксисом. я использовал следующее, и это сработало
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
Class Author extends Model {
protected $fillable = array('name','surname');
protected $table = 'authors';}
я заменил позиции следующего кода
защищенный $ fillable = массив (‘имя’, ‘фамилия’);
защищенный $ table = ‘авторы’;
и я использовал «модель» вместо «красноречивый», и это сработало
Добавить название модели Author
в AuthorsTableSeeder
,
use App\Author;
Так как вы используете модель Author без добавления сверху.
Вы должны попробовать это:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;Class AuthorsTableSeeder extends Seeder {
public function run()
{
DB::table('authors')->delete();
DB::table('authors')->insert(array(
'name' => 'Lauren',
'surname'=>'Oliver'
));
DB::table('authors')->insert(array(
'name' => 'Stephenie',
'surname'=>'Meyer'
));
DB::table('authors')->insert(array(
'name' => 'Dan',
'surname'=>'Brown'
));
}
}
Надеюсь, эта работа для вас!