奏鸣曲默认过滤器值
Sonata default filter value
我的方法 configureDatagridFilters()
中有一个 属性 称为受让人。当我的管理员的列表视图首次加载时,我想将此 属性 的值设置为当前用户。
我试过:
public function getFilterParameters()
{
$parameters = parent::getFilterParameters();
$parameters['assignee'] = [
'value' => $this->getUser(),
];
return $parameters;
}
以及 array_merge
代替。其中 None 达到了我的要求,它仍然只显示 default/entire 列表。
我尝试添加一个类型,有点不清楚类型是什么,因为我看到的一些例子是 EntityType::class
,而其他例子只是一个数字 3
。
所以我想出了如何将过滤器默认设置为当前用户。
我的过滤器是 EntityType::class
,class 为 User::class
。为了使上面的代码片段起作用,您必须将值设置为用户 ID 而不是像这样的用户对象:'value' => $this->getUser()->getId()
.
所以完整的方法是:
public function getFilterParameters()
{
$parameters = parent::getFilterParameters();
$parameters['assignee'] = [
'value' => $this->getUser()->getId(),
];
return $parameters;
}
我的方法 configureDatagridFilters()
中有一个 属性 称为受让人。当我的管理员的列表视图首次加载时,我想将此 属性 的值设置为当前用户。
我试过:
public function getFilterParameters()
{
$parameters = parent::getFilterParameters();
$parameters['assignee'] = [
'value' => $this->getUser(),
];
return $parameters;
}
以及 array_merge
代替。其中 None 达到了我的要求,它仍然只显示 default/entire 列表。
我尝试添加一个类型,有点不清楚类型是什么,因为我看到的一些例子是 EntityType::class
,而其他例子只是一个数字 3
。
所以我想出了如何将过滤器默认设置为当前用户。
我的过滤器是 EntityType::class
,class 为 User::class
。为了使上面的代码片段起作用,您必须将值设置为用户 ID 而不是像这样的用户对象:'value' => $this->getUser()->getId()
.
所以完整的方法是:
public function getFilterParameters()
{
$parameters = parent::getFilterParameters();
$parameters['assignee'] = [
'value' => $this->getUser()->getId(),
];
return $parameters;
}