H有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!');
}
}
这也是我的website folder。
答案 0 :(得分:2)
我找到了答案。问题在于语法。我使用以下内容并且有效
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
Class Author extends Model {
protected $fillable = array('name','surname');
protected $table = 'authors';
}
我替换了以下代码的位置 protected $ fillable = array('name','surname'); protected $ table ='authors';
我使用'model'代替'eloquent'而且它有效
答案 1 :(得分:0)
在Author
添加模型名称AuthorsTableSeeder
。
use App\Author;
因为,您使用的是作者模型,而不是在顶部添加。
答案 2 :(得分: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'
));
}
}
希望这对你有用!!!