不确定为什么迁移正在寻找'teches'而不是真正的表名'techs'??
文件:TechsTableSeeder.php
class TechsTableSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Eloquent::unguard();
Tech::create(
[
'name'=>'technology',
'description'=>'...',
'year'=>'2014'
]);
}
}
在php artisan db:seed --class =“TechsTableSeeder”中,我在终端中收到以下错误:
[照亮\数据库\ QueryException]
SQLSTATE [42S02]:找不到基表或视图:1146表 'database.teches'不存在(SQL:插入teches
(name
,description
,year
,updated_at
,created_at
)值(技术, ...,2014,2013-12-30 03:23:39,2013-12-30 03:23:39))
不确定为什么迁移正在寻找'teches'而不是真正的表名'techs'??
模型Tech.php确实存在,并通过php artisan生成自动生成:model Tech如下:
class Tech extends Eloquent {
protected $guarded = array();
public static $rules = array();
}
答案 0 :(得分:5)
它尝试将表名放在复数形式中。
添加
protected $table = 'tech';
在您的模型类Tech
中答案 1 :(得分:0)
安东尼奥是对的,顺便说一句,如果它适用于模型本身,你可以用这种方式格式化你的播种机:
class TechsTableSeeder extends Seeder {
public function run()
{
$techs = [
];
DB::table('techs')->insert($techs);
}
}
我种子时总是喜欢这种方法。