【发布时间】:2013-11-19 15:04:51
【问题描述】:
所以我有以下两个文件:
壁纸
/**
* @MongoDB\Document(
* collection="wallpapers",
* repositoryClass="Application\Bundle\DefaultBundle\Repository\WallpaperRepository"
* )
*/
class Wallpaper
{
/**
* @MongoDB\Id(strategy="auto")
* @var string $id
*/
private $id;
/**
* @var ArrayCollection
*
* @MongoDB\ReferenceMany(
* targetDocument="Category"
* )
*
*
*/
private $categories;
/**
* Constructor
*/
public function __construct()
{
$this->categories = new ArrayCollection();
}
}
类别:
/**
* @MongoDB\Document(collection="categories")
*/
class Category
{
/**
* @MongoDB\Id(strategy="auto")
* @var string $id
*/
private $id;
/**
* @MongoDB\Field(type="boolean")
*
* @var bool $published
*/
private $published;
}
我需要选择所有只包含已发布类别的壁纸... 我尝试了很多解决方案,都是通过 Google 搜索找到的。但仍然没有找到我的问题的解决方案...
这是我的查询:
$wallpapers = $this->createQueryBuilder('ApplicationDefaultBundle:Wallpaper')
->field('categories.published')->equals(true)
->getQuery()
->execute()
但它不起作用:(
有什么建议吗?
【问题讨论】:
标签: php mongodb symfony doctrine-orm doctrine-odm