我的方法configureDatagridFilters()
中有一个称为受理人的属性。首次加载管理员的列表视图时,我想将此属性的值设置为当前用户。
我尝试过:
public function getFilterParameters()
{
$parameters = parent::getFilterParameters();
$parameters['assignee'] = [
'value' => $this->getUser(),
];
return $parameters;
}
以及array_merge
。他们都没有实现我的目标,它仍然只是向我显示默认/完整列表。
我尝试添加一个类型,但不清楚类型是什么,因为我看到的一些示例像EntityType::class
,而其他例子只是数字3
。
答案 0 :(得分:0)
因此,我想出了如何将过滤器默认设置为当前用户。
我的过滤器是一个EntityType::class
类的User::class
。为了使上面的代码段起作用,您必须将值设置为用户ID而不是用户对象,例如:'value' => $this->getUser()->getId()
。
因此完整的方法是:
public function getFilterParameters()
{
$parameters = parent::getFilterParameters();
$parameters['assignee'] = [
'value' => $this->getUser()->getId(),
];
return $parameters;
}