我有一个在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
}