Symfony2 Criteria过滤OneToMany

时间:2014-05-09 12:15:56

标签: symfony filter one-to-many criteria

我有一个名为' User'的实体,它在名为' books'的字段中具有OnetoMany关系。

我还有一个名为' Book'它有很多属性,例如,标题'或者' date'。

还有另一个名为' Date'的实体,其属性为:' day',' month'和'年'。

我想过滤用户从2009年开始的图书。

我想使用Criteria这样做,但我收到错误,因为字段date.year不存在:

$books = $user->getBooks(); 

$criteria = Criteria::create()
            ->where(Criteria::expr()->eq("date.year", "2009"));

$books_2009 = $books->matching($criteria);

我怎么能解决它?

1 个答案:

答案 0 :(得分:1)

$criteria = Criteria::create()
        ->where(Criteria::expr()->eq("year", "2009"));

这应该有效。请告诉我。