Laravel 4"Table'database.teches'不存在"

Ala*_*anW 4 laravel laravel-4

不确定为什么迁移正在寻找'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'
        ]);

}

} 
Run Code Online (Sandbox Code Playgroud)

在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'?

Model Tech.php确实存在,并通过php artisan生成自动生成:model Tech如下:

class Tech extends Eloquent {
    protected $guarded = array();

    public static $rules = array();
}
Run Code Online (Sandbox Code Playgroud)

Ant*_*iro 5

它试图将表名放在复数形式中.

只需添加

protected $table = 'tech';
Run Code Online (Sandbox Code Playgroud)

在您的模型类Tech

  • 我觉得这不仅有点烦人.以复数形式命名数据库和表被认为是不好的做法,Laravel在幕后推广并实现了这一点?到目前为止,我喜欢Laravel,但这个功能很烦人 (2认同)