学说 - 标准 - 表达 - 包含(多对多)

时间:2015-01-06 17:02:30

标签: symfony collections doctrine many-to-many criteria

我正在尝试用Doctrine解决问题。我正在使用标准来查找结果 - 帖子(主要使用表达式eq,有效),但现在我想按标签查找帖子 - 通常是ManyToMany(很容易使用标准)。

问题是我仍然收到此错误:“注意:未定义的索引:在...中的joinColumns”

这是我的代码:

....

$criteria = Criteria::create();

foreach ($this->tags as $tag)
    $criteria->Where( Criteria::expr()->contains('tags', $tag ));
...

//$this->tags is an array collection of selected tags.

发布实体 - 标记注释:

/**
 * @var Collection
 * @ORM\ManyToMany(targetEntity="Tag", inversedBy="posts")
 * @ORM\JoinTable(name="blog_post_tag",
 *                joinColumns={@ORM\JoinColumn(name="post_id", referencedColumnName="id")},
 *                inverseJoinColumns={@ORM\JoinColumn(name="tag_id", referencedColumnName="id")}
 * )
 *
 */
protected $tags;

可以在那里使用标准吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

前一段时间学说不支持具有多种关系的标准,但我看到了拉动请求:

https://github.com/doctrine/doctrine2/pull/885/commits

因此,它可能在更新版本的学说中得到支持。

相关问题