假设我有三个实体:文章,标记& 用户即可。文章和标签是多对多相关的。
我想要做的是将用户信息添加到多对多关系中 - 这样我就可以告诉哪个用户在文章中添加了哪个标签。基本上,SQL中的结果应该是article_tags(包含article_id和tag_id键的多对多关系表)中的第三列'user_id',我可以查询。
现在我只知道一个解决方案:创建第四个实体'ArticleTags',它有三个关系字段 article , tag 和 user 。显示文章中的所有标签然后变为......
<?php
foreach($article->getArticleTags() AS $articleTag) {
echo $articleTag->getTag()->getName()
}
...这比$ article-&gt; getTags()要简单得多,而且需要各种存储库技巧来查询,排序等等。
对于这种事情,是否有更理想的解决方案?我现在正在使用Doctrine 2.1.0-DEV。感谢。
答案 0 :(得分:0)
IMO,我认为ArticleTags实体是一种很好的方法。
或者,如果用户实体与文章和标签有关联,您应该能够从用户实体中映射哪些标签属于该特定用户的哪个帖子。