Сортировка по кастомному атрибуту в Yii2
Есть виджет GridView на индексной странице. Есть кастомный атрибут, выводящий значение в зависимости от результата функции. Этот атрибут прописан в модели как публичное свойство, но в гриде отображается черным без ссылки, то есть сортировка по нему невозможна.
Способы, предложенные в других похожих темах, почему-то не помогли.
Код в model
public $STATUS;
public const SENT = 'Отправлен';
public const DRAFT = 'Черновик';
Код в view
[
'attribute' => 'STATUS',
'value' => function($model) {
if (Notifications::isNotificationSended($model->ID)) {
$model->STATUS = Notifications::SENT;
}
else {
$model->STATUS = Notifications::DRAFT;
}
return $model->STATUS;
}
],
Если указать в search model (как в этой теме - https://stackoverflow.com/questions/27936787/how-i-do-custom-yii2-gridview-sort)
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => ['attributes' => ['STATUS']],
]);
то ругается, что нет такого атрибута и выводит SQL ошибку.
Как я понял, я неправильно указываю атрибут? Заранее благодарю за помощь.