首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cakephp3的ORM命名公约

Cakephp3的ORM命名公约
EN

Stack Overflow用户
提问于 2019-09-16 13:58:49
回答 1查看 49关注 0票数 0

我正在CakePHP3框架中开发一个应用程序,很多时候(也许从哲学角度讲),我有关于ORM约定的命名问题,这给我留下了一些疑问。

假设下面的表格:

  • 优惠券
  • 用户

“用户”可以有多个“优惠券”,但一个优惠券只属于一个用户。从用户的角度来看,这是一种hasMany关系,从优惠券的角度来看,这是一种belongsTo关系。在CakePHP3中,关系用复数表名来处理。所以在用户中,我们有一个$this->hasMany("Coupons")关系,但是使用$this->belongsTo("Users")?是正确的吗?(我指的是“User”I())。如果我指的是一个用户的优惠券,不是$ this-> belongsTo (" User ")吗?

当然,我可以更改关系的名称并指定className关系,但是用他的命名约定来实现这一点是正确的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-17 03:13:38

一张桌子是复数的,因为它有很多记录。因此,表名是优惠券和用户。当将它们关联时,就是您要关联的表:优惠券表与User表相关联,而不是与用户记录关联的优惠券记录。

关联类型定义了实体之间的关系。这里的关联属于"belongsTo“类型,这意味着优惠券记录(CakePHP实体)”属于“用户记录,但它们不是”关联“的。

用户表中的一条记录是用户,所以当使用优惠券->用户关联时,您会得到一个单一的属性名,但是该记录仍然来自一个大的用户列表。

希望这有助于使命名方案对您来说更加直观。:-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57958461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档