在我的方法configureDatagridFilters()
中有一个名为assignee的属性。当我的管理员的列表视图第一次加载时,我想将此属性的值设置为当前用户。
我试过:
public function getFilterParameters()
{
$parameters = parent::getFilterParameters();
$parameters['assignee'] = [
'value' => $this->getUser(),
];
return $parameters;
}
字符串
以及代替的array_merge
。它们都没有达到我想要的效果,它仍然只是向我显示默认/整个列表。
我试着添加一个类型,有点不清楚类型是什么,因为我看到的一些例子像EntityType::class
,其他的只是一个数字3
。
2条答案
按热度按时间jyztefdp1#
所以我想出了如何将过滤器默认设置为当前用户。
我的过滤器是
EntityType::class
,类为User::class
。为了让上面的代码片段工作,你必须将值设置为用户ID,而不是用户对象,如下所示:'value' => $this->getUser()->getId()
的值。所以完整的方法是:
字符串
uqdfh47h2#
公认的答案是错误的。您将无法更改“收件人”过滤器-所以它不是一个“默认”,但“强制过滤器”的行为。您应该将array_key_exists检查添加到代码中,如
字符串