我的方法configureDatagridFilters()
有一个属性叫做受让人。首次加载我的管理员列表视图时,我想将此属性的值设置为当前用户。
我试过了:
public function getFilterParameters()
{
$parameters = parent::getFilterParameters();
$parameters['assignee'] = [
'value' => $this->getUser(),
];
return $parameters;
}
而且还有一个array_merge
。他们都没有达到我所追求的目标,它仍然只显示默认/整个列表。
我试过添加一个类型,有点不清楚类型是什么,我见过的一些例子像EntityType::class
和其他只是一个数字3
。
所以我想出了如何将默认情况下的过滤器设置为当前用户。
我的过滤器是EntityType::class
与User::class
类。为了使上面的代码片段起作用,您必须将值设置为用户ID而不是用户对象,如下所示:'value' => $this->getUser()->getId()
。
所以完整的方法是:
public function getFilterParameters()
{
$parameters = parent::getFilterParameters();
$parameters['assignee'] = [
'value' => $this->getUser()->getId(),
];
return $parameters;
}