【发布时间】:2020-10-18 21:40:48
【问题描述】:
【问题讨论】:
标签: php database authentication cakephp cakephp-4.x
【问题讨论】:
标签: php database authentication cakephp cakephp-4.x
当您与命名约定作斗争时,这很容易发生,因为 CakePHP 框架遵循约定优于配置的方法。
数据库表名(和表类)的约定是使用复数,所以users而不是user,因此无论CakePHP默认提供模型/表名,它都会相应地使用复数名。
默认情况下,auth 组件的身份验证器(顺便说一句已弃用,您应该考虑改用authentication plugin)配置为使用Users 模型/表别名,复数形式。相关选项是userModel,如果您想使用不同的模型,则需要相应地更改。还有其他使用复数的选项,例如定义 URL 数组的选项,它们使用 Users 来定位 UsersController(控制器名称也按照惯例是复数)。
模型层也有实体,实体的约定是使用单数名称,所以User。这也是表不使用单数名称的另一个原因,即使可以通过配置,也很容易与实体类名称混淆。
我强烈建议您遵循约定,并使用烘焙控制台来创建模型、控制器等,特别是如果您是初学者。一旦你熟悉了 CakePHP 的来龙去脉,你就可以开始随心所欲地改变它,并在必要时偏离约定。
另见
【讨论】:
userModel 选项并且它有效。但我要更改我的表名以尊重 cakePhP 约定。非常感谢您的帮助!