【发布时间】:2018-03-18 19:14:39
【问题描述】:
我刚开始学习 Laravel,但在为我的测试表生成种子时遇到问题。
控制台错误说: “未找到基表或视图:1146 表 'laravel.testms' 不存在...”
我的表被称为“testm” - 我不知道为什么它会查找 testms
TestmFactory.php
use Faker\Generator as Faker;
$factory->define(App\Testm::class, function (Faker $faker) {
return [
'test' => $faker->paragraph
];
});
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();
}
}
DatabaseSeeder.php
public function run()
{
$this->call(LinksTableSeeder::class);
$this->call(TestmTableSeeder::class);
}
app/Testm.php
class Testm extends Model
{
// Below line fixed my code :-)
protected $table = 'testm';
protected $fillable = [
'test'
];
}
【问题讨论】:
-
laravel是表所在的数据库的名称。检查config/database.php中数据库连接的database值。 -
Laravel 查找模型名称的复数形式作为表格
-
所以你想重写这个功能并在模型
Testm.php中显式定义表参数,代码如下protected $table = 'testm'; -
将此添加到您的模型
protected $table = 'testm';
标签: laravel