Cakephp3的ORM命名约定

Cakephp3的ORM命名约定,orm,cakephp-3.0,naming-conventions,Orm,Cakephp 3.0,Naming Conventions,我正在CakePHP3框架中开发一个应用程序,很多时候(也许从哲学上讲)我对ORM约定的命名问题都有疑问 假设下表: 优惠券 使用者 一个“用户”可以有多个“优惠券”,但一个优惠券只属于一个用户。从用户的角度来看,这是一种多关系,从优惠券的角度来看,这是一种归属关系。 在CakePHP3中,关系用复数表名处理。因此,在用户中,我们有一个$this->有许多(“优惠券”)关系,但使用$this->belongsTo(“用户”)是否正确?(我指的是belongsTo()中的“用户”)。如果我引用

我正在CakePHP3框架中开发一个应用程序,很多时候(也许从哲学上讲)我对ORM约定的命名问题都有疑问

假设下表:

  • 优惠券
  • 使用者
一个“用户”可以有多个“优惠券”,但一个优惠券只属于一个用户。从用户的角度来看,这是一种多关系,从优惠券的角度来看,这是一种归属关系。 在CakePHP3中,关系用复数表名处理。因此,在用户中,我们有一个$this->有许多(“优惠券”)关系,但使用$this->belongsTo(“用户”)是否正确?(我指的是belongsTo()中的“用户”)。如果我引用的是一个用户的优惠券,它不是$this->belongsTo(“用户”)吗


当然,我可以更改关系的名称并指定类名关系,但使用他的命名约定这样做是正确的?

表是复数的,因为它包含很多记录。所以表名是优惠券和用户。当关联它们时,您要关联的是表:优惠券表与用户表关联,而不是与用户记录关联的优惠券记录

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

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


希望这有助于使命名方案更直观一些。:-)

是的,现在更开明了。谢谢,格雷格:)