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