这是在fuelphp中与额外字段创建多对多关系的正确方法吗

Posted

技术标签:

【中文标题】这是在fuelphp中与额外字段创建多对多关系的正确方法吗【英文标题】:Is this the right way to create a many-to-many relationship with extra fields in fuelphp 【发布时间】:2012-08-23 06:49:45 【问题描述】:

似乎没有太多关于创建还包括额外字段的多对多关系的文档(因此它不仅仅是两个模型的 ID)。据我了解,中间需要另一个模型,其中将包含其他字段(因为关系本身不支持它)。

这是正确的做法吗?

class Model_Ab

  protected static $_belongs_to = array('a', 'b');

  //this has the additional fields


class Model_A

  protected static $_has_many = array('ab');


class Model_B

  protected static $_has_many = array('ab');

【问题讨论】:

【参考方案1】:

Fuelphp 的 ORM 不支持多对多表中的任何附加列。当然,您可以采取一种解决方法:

modelA -> has_one <=> has_many model_through -> has_many <=> has_one modelB

【讨论】:

不完全理解你的例子是什么意思,你能把这个例子做成与OP中的格式相似的格式,显示模型和每个中的关系变量。

以上是关于这是在fuelphp中与额外字段创建多对多关系的正确方法吗的主要内容,如果未能解决你的问题,请参考以下文章

FuelPHP - 订购多对多关系

数据库优先方法中与联结表的多对多关系

在 django 的多对多关系中添加额外的字段

创建多对多表关系的三种方式

多对多关系连接表上的sails.js 额外字段

Hibernate:在 ***Error 中与多对多结果合并