使用make:model指令生产的模型和迁移文件,为什么不自动加s了

1. 运行环境

Apache/2.4.59 (Unix) OpenSSL/3.3.0 PHP/8.3.6 |

1). 当前使用的 Laravel 版本?

Laravel 11.14.0

2). 当前使用的 php/php-fpm 版本?

PHP 版本:PHP 8.3.6 (cli) (built: Apr 10 2024 14:21:20) (NTS)
php-fpm 版本:

3). 当前系统

Mac OS Sonoma 14.6.1

4). 业务环境

开发环境

5). 相关软件版本

MariaDB10

2. 问题描述?

使用php artisan make:model Staff -m 创建staff模型和迁移文件,实际产生数据库表名为staff,并不是staffs,迁移文件也是不带s的。
视频教程里相同的命令,生产的表格会自动是模型名+s,以前使用Laravel时也是自动加s,
问题:
1、如何实现使用上述命令,创建的表格自动带s;
2、如果表格名不带s,Laravel的多表关联操作时会不会有影响?是否不符合Laravel的命名规范?

3. 您期望得到的结果?

能解决上述问题的方案

4. 您实际得到的结果?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 7

staff 单复数同形,除了常规的 s,还有其他形式,如:

➜  laravel git:(main) ✗ artisan tinker
Psy Shell v0.12.3 (PHP 8.2.22 — cli) by Justin Hileman
> Str::plural('staff')
= "staff"

> Str::plural('butterfly')
= "butterflies"

> Str::plural('person')
= "people"

默认的表名称会使用这些复数形式:

➜  laravel git:(main) artisan make:model -m Staff

   INFO  Model [app/Models/Staff.php] created successfully.

   INFO  Migration [database/migrations/2024_08_29_005520_create_staff_table.php] created successfully.

➜  laravel git:(main) ✗ artisan make:model -m Butterfly

   INFO  Model [app/Models/Butterfly.php] created successfully.

   INFO  Migration [database/migrations/2024_08_29_005526_create_butterflies_table.php] created successfully.

➜  laravel git:(main) ✗ artisan make:model -m Person

   INFO  Model [app/Models/Person.php] created successfully.

   INFO  Migration [database/migrations/2024_08_29_005531_create_people_table.php] created successfully.

如果一定要用 staffs 表名,也可以自己加下,然后设置下,参考 laravel.com/docs/11.x/eloquent#tab...

5个月前 评论
yadonghx (楼主) 5个月前

staff 单复数同形,除了常规的 s,还有其他形式,如:

➜  laravel git:(main) ✗ artisan tinker
Psy Shell v0.12.3 (PHP 8.2.22 — cli) by Justin Hileman
> Str::plural('staff')
= "staff"

> Str::plural('butterfly')
= "butterflies"

> Str::plural('person')
= "people"

默认的表名称会使用这些复数形式:

➜  laravel git:(main) artisan make:model -m Staff

   INFO  Model [app/Models/Staff.php] created successfully.

   INFO  Migration [database/migrations/2024_08_29_005520_create_staff_table.php] created successfully.

➜  laravel git:(main) ✗ artisan make:model -m Butterfly

   INFO  Model [app/Models/Butterfly.php] created successfully.

   INFO  Migration [database/migrations/2024_08_29_005526_create_butterflies_table.php] created successfully.

➜  laravel git:(main) ✗ artisan make:model -m Person

   INFO  Model [app/Models/Person.php] created successfully.

   INFO  Migration [database/migrations/2024_08_29_005531_create_people_table.php] created successfully.

如果一定要用 staffs 表名,也可以自己加下,然后设置下,参考 laravel.com/docs/11.x/eloquent#tab...

5个月前 评论
yadonghx (楼主) 5个月前

file 同上,这就涉及到英文了(毕竟是国外的框架 ), 不是所有词汇都+s

5个月前 评论
yadonghx (楼主) 5个月前
sanders

file

5个月前 评论
yadonghx (楼主) 5个月前
小李世界 5个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!