我在 Laravel 6.6 中创建了一个数据库表,其结尾datas如下:C:\xampp\htdocs\voiceit> php artisan make:migration create_org_datas_tableCreated Migration: 2019_12_16_094613_create_org_datas_table我尊重 Laravel ORM 表需要复数名称的规则。另外,我生成了相关的模型、控制器和资源:C:\xampp\htdocs\voiceit> php artisan make:controller API\OrgDataController --api -m OrgDataController created successfully.C:\xampp\htdocs\voiceit> php artisan make:resource OrgDataResource created successfully.最后我做了迁移:C:\xampp\htdocs\voiceit> php artisan migrate我手动检查了我的数据库,它org_datas在数据库中正确生成了表。但是,当我尝试运行这样的简单查询时:$orgDatas = OrgData::all();它会产生以下错误:“SQLSTATE [42S02]:未找到基表或视图:1146 表 'mjzsoft.org_data' 不存在(SQL:从 org_data 中选择 *)”如果在模型中添加以下代码行,则可以找到该表:class OrgData extends Model{ protected $table = 'org_datas';}现在的问题是,这data是一个特例还是因为这个词data没有复数形式或其他什么?如果是这种情况,那么*_informations也不能工作,我需要为 Laravel 澄清表的名称!?或者我错过了一些它没有检测到正确的表名称的东西!?
1 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
正如评论所说,这对于说英语的人来说不是一个有问题的问题,您可以查看 Laravel 的Pluralizer laravel/frameork/Illuminate/Support/Pluralizer.php,其中指出data已明确标识为不会与 a 一起复数的单词其他单词列表。
- 1 回答
- 0 关注
- 141 浏览
添加回答
举报
0/150
提交
取消
