【发布时间】: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