我刚刚开始学习 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)
按照惯例,除非明确指定另一个名称,否则将使用类的复数名称“snake case”作为表名。
为了在模型中显式定义表名,Testm.php在您的情况下,您需要将以下代码添加到类中:
protected $table = 'testm';
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |