【问题标题】:Doctrine2 - adding relationship to relationshipDoctrine2 - 将关系添加到关系
【发布时间】:2011-02-18 20:35:48
【问题描述】:

假设我有三个实体:文章、标签和用户。文章和标签是多对多相关的。

我想做的是将用户信息添加到多对多关系中 - 这样我就可以知道哪个用户在文章中添加了哪个标签。基本上,SQL 中的结果应该是我可以查询的 article_tags(包含 article_id 和 tag_id 键的多对多关系表)中的第三列“user_id”。

目前我只知道一种解决方案:创建第四个实体“ArticleTags”,它具有三个关系字段article、tag 和 user时间>。显示一篇文章中的所有标签就变成了……

<?php
foreach($article->getArticleTags() AS $articleTag) {
    echo $articleTag->getTag()->getName()
}

...它已经比 $article->getTags() 简单得多,而且它需要各种存储库技巧来进行查询、排序等。

这种事情有更理想的解决方案吗?我现在正在使用 Doctrine 2.1.0-DEV。谢谢。

【问题讨论】:

标签: php orm doctrine-orm


【解决方案1】:

IMO,我认为 ArticleTags 实体是一个好方法。

或者,如果用户实体与文章和标签有关联,您应该能够从用户实体映射出哪些标签属于该特定用户的哪个帖子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-29
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 2013-08-20
    相关资源
    最近更新 更多