【问题标题】:phpactiverecord one to many assosiationphp activerecord 一对多关联
【发布时间】:2012-05-30 03:45:35
【问题描述】:

我在这个项目中使用 phpactiverecord,我有这个 db 结构:

表格:工单、标签

我目前正在为这两个表使用 has_many 关联:“票有很多标签”,但是我需要将每个标签分配给不同的票,如果没有具有不同 id 和 ticket_id 的重复行,目前这是不可能的价值观。

关于如何实现这一点的任何想法?

干杯

【问题讨论】:

  • 您可以在门票和标签之间建立一个桥接表。

标签: php database activerecord associations


【解决方案1】:

你需要创建额外的表

 table Label2Tickets (`label_id`, `ticket_id`, PRIMARY KEY (`label_id`, `ticket_id`)
 \* there you may store date of create, status and etc *\ 
 `created`, `status`, `user_id` ... )

并更新现有的 AR 并为此表创建新的 AR:

Ticket 有很多 Label2Tickets 其中 Label2Tickets.ticket_id = Tickets.id 标签有很多 Label2Tickets 其中 Label2Tickets.label_id = Labels.id

【讨论】:

  • 我知道这种可能性,但我发现为此增加一张桌子太麻烦而且效率也不高。票行中的某种 label_id 数组可能会这样做,但我仍在弄清楚如何以正确的方式这样做。
  • 暂时可以,但我会找到更有效的方法。
  • @proxdeveloper,不要重新发明轮子! )) 这几乎是有效的,我只知道一种方法,没有重复的标签行
  • 这是多对多关系最有效的方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-06
相关资源
最近更新 更多