Laravel 种子问题,laravel 正在寻找复数表名

rit*_*ten 5 laravel

我刚刚开始学习 Laravel,但在为我的测试表生成种子时遇到了问题。

控制台错误说:“找不到基表或视图:1146 表‘laravel.testms’不存在……”

我的表被称为“testm” - 我不知道为什么它会寻找 testm s

测试工厂.php

use Faker\Generator as Faker;

$factory->define(App\Testm::class, function (Faker $faker) {
        return [

        'test' => $faker->paragraph
    ];
});
Run Code Online (Sandbox Code Playgroud)

TestmTableSeeder.php

use Illuminate\Database\Seeder;

class TestmTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
      factory(App\Testm::class, 5)->create();
    }
}
Run Code Online (Sandbox Code Playgroud)

数据库浏览器.php

  public function run()
    {

        $this->call(LinksTableSeeder::class);
        $this->call(TestmTableSeeder::class);
    }
Run Code Online (Sandbox Code Playgroud)

应用程序/Testm.php

class Testm extends Model
{
   // Below line fixed my code :-)
     protected $table = 'testm';
     protected $fillable = [
        'test'

    ];
}
Run Code Online (Sandbox Code Playgroud)

Der*_*ard 9

Laravel 文档

按照惯例,除非明确指定另一个名称,否则将使用类的复数名称“snake case”作为表名。

为了在模型中显式定义表名,Testm.php在您的情况下,您需要将以下代码添加到类中:

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

希望这可以帮助!