Значение фильтра Sonata по умолчанию - PullRequest
0 голосов
/ 27 марта 2019

У меня есть свойство в моем методе configureDatagridFilters(), называемое assignee. Когда представление списка моего администратора впервые загружено, я хотел бы установить значение этого свойства для текущего пользователя.

Я пробовал:

public function getFilterParameters()
{
    $parameters = parent::getFilterParameters();

    $parameters['assignee'] = [
        'value' => $this->getUser(),
    ];

    return $parameters;
}

, а также array_merge вместо. Никто из них не достиг того, чего я добиваюсь, он просто показывает мне список по умолчанию / весь список.

Я попытался добавить тип, немного неясно, что это за тип, так как некоторые примеры, которые я видел, выглядят как EntityType::class, а другие - просто число 3.

1 Ответ

0 голосов
/ 28 марта 2019

Итак, я разобрался, как установить фильтр по умолчанию для текущего пользователя.

Мой фильтр - EntityType::class с классом User::class. Чтобы приведенный выше фрагмент кода работал, необходимо установить значение для идентификатора пользователя, а не для объекта пользователя, например: 'value' => $this->getUser()->getId().

Таким образом, полный метод будет:

public function getFilterParameters()
{
    $parameters = parent::getFilterParameters();

    $parameters['assignee'] = [
        'value' => $this->getUser()->getId(),
    ];

    return $parameters;
}
...