Я не могу посеять данные в Laravel

У меня есть 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!');

}
}

Также здесь мой папка сайта также.

1

Решение

я нашел ответ. проблема была с синтаксисом. я использовал следующее, и это сработало

<?php namespace App;
use Illuminate\Database\Eloquent\Model;

Class Author extends Model {

protected $fillable = array('name','surname');
protected $table = 'authors';}

я заменил позиции следующего кода
защищенный $ fillable = массив (‘имя’, ‘фамилия’);
защищенный $ table = ‘авторы’;

и я использовал «модель» вместо «красноречивый», и это сработало

2

Другие решения

Добавить название модели Author в AuthorsTableSeeder,

use App\Author;

Так как вы используете модель Author без добавления сверху.

0

Вы должны попробовать это:

<?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'
));

}

}

Надеюсь, эта работа для вас!

0
По вопросам рекламы [email protected]