[英]doctrine odm query reference many field
以文档为例:
/** @Document */
class BlogPost
{
// ...
/** @ReferenceOne(targetDocument="User", inversedBy="posts") */
private $user;
}
/** @Document */
class User
{
// ...
/** @ReferenceMany(targetDocument="BlogPost", mappedBy="user") */
private $posts;
}
有什么方法可以查询用户实体并检索他的所有帖子?
我的意思是我可以使用示例查询:
db.BlogPost.find({ 'user.$id' : user.id })
但是,如果我想做什么:
db.User.find({ 'id' : id })
并通过用户属性$ posts访问用户帖子
这可以归档吗?
当我执行查询时,我们可以找到日志:
[2016-08-15 17:13:45] doctrine.DEBUG: MongoDB query: {"find":true,"query":{"_id":{}},"fields":[],"db":"base","collection":"User"} [] []
[2016-08-15 17:13:45] doctrine.DEBUG: MongoDB query: {"limit":true,"limitNum":1,"query":{"_id":{}},"fields":[]} [] []
[2016-08-15 17:13:45] doctrine.DEBUG: MongoDB query: {"limit":true,"limitNum":null,"query":{"_id":{}},"fields":[]} [] []
使用Doctrine ODM:
$dm = $this->get('doctrine_mongodb')->getManager();
$user = $dm->getRepository('AppBundle:User')->findOneById($id);
$posts = $user->getPosts();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.