0

我有一个在 symfony2.2 框架上运行的 mongoDB 应用程序。

数据库设计如下。

桌子

User,City,State

1 user belongs to one city.
1 city belongs to one state.

现在我需要查询属于状态 A 的所有用户。

这是我尝试过的,但没有结果。

$response = $dm->getRepository('DataBundle:User')->createQueryBuilder()
            ->field('city.state.$id')->equals(new \MongoId('123123asd123dqa4'))
            ->getQuery()
            ->execute();

有任何想法吗?

[编辑]

 class User
    {
       /**
         * @ODM\ReferenceOne(targetDocument="City", mappedBy="users")
         */
        protected $city;

 // getters and setters
}


class City
{
   /**
     * @ODM\ReferenceOne(targetDocument="State")
     */
    protected $state;

  /**
     * @ODM\ReferenceMany(targetDocument="User", inversedBy="state")
     */
    protected $users;

   //getters and setters
}
4

0 回答 0