我正在尝试从Entity.user = "current user"
的数据库中检索对象列表。
这是实体实体和用户实体之间的ManyToOne关系
我尝试在bundle配置中使用dql-filter选项,但是找不到像在控制器$this->getUser()
或Twig {{app.user}}
中可以找到的参数变量
我尝试使用自定义控制器,但由于文档不够详细,我感到困惑。
答案 0 :(得分:0)
我将使用自定义控制器,并始终添加DQL过滤器来覆盖findAll或createListQueryBuilder。像这样的东西:
protected function createListQueryBuilder($entityClass, $sortDirection, $sortField = null, $dqlFilter = null)
{
if (null === $dqlFilter) {
$dqlFilter = sprintf('entity.user = %s', $this->getUser()->getId());
} else {
$dqlFilter .= sprintf(' AND entity.user = %s', $this->getUser()->getId());
}
return parent::createListQueryBuilder($entityClass, $sortDirection, $sortField, $dqlFilter);
}