我在和拉拉威尔合作一个项目。
我使用kitloong/laravel-migrations-generator导入了我的数据库。
我正在尝试为表“utilizador”设置种子。
当运行php artisan migrate:fresh --seed
时,它返回下面的错误。问题是它说没有找到表“utilizadors”,尽管表是“utilizador”(没有s)。我找不到我的文件中使用“utilizador”的任何用法,所以我真的不知道错误在哪里。
数据库状态[42 S 02]:未找到基表或视图:1146表格'smm_centro_dia.utilizadors'不存在(连接:mysql,SQL语言:插入到“实用程序”中(“用户名”、“电子邮件”、“psw”、“grp”、"已记录“、”dh_registo“、”已更新"、“已创建”)值(管理员,admin@gmail.com,$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi,0,0,2023 - 03 - 17 14:29:51,2023 - 03 - 17 14:29:51,2023-03-17 14:29:51)
以下是代码:
数据库种子
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
$this->call(RoleSeeder::class);
$this->call(AdminSeeder::class);
}
}
管理种子
class AdminSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$user = Utilizador::create([
'username' => 'admin',
'email' => 'admin@gmail.com',
'psw' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'grp' => 0,
'is_logged' => 0,
'dh_registo' => now()
]);
$user->assignRole('admin', 'colaborador');
}
}
角色播种机
class RoleSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
Role::create(['name' => 'admin']);
Role::create(['name' => 'colaborador']);
Role::create(['name' => 'utilizador']);
}
}
我试着搜索用法,重写代码,没有任何效果。
1条答案
按热度按时间wr98u20j1#
Laravel内部命名约定:
按照惯例,“snake case”(类的复数名称)将用作表名,除非显式指定了另一个名称。因此,在这种情况下,Eloquent将假设
Flight
模型将记录存储在flights
表中,而AirTrafficController
模型将记录存储在air_traffic_controllers
表中。如果模型的相应数据库表不符合此约定,可通过在模型上定义表属性来手动指定模型的表名。
例如,拉腊维尔给:
您可以在docs. Ps上查看更多信息:你有EN和PT的模型,EN的种子,只在项目中使用一种语言。