Стандартно, в фильтре можно использовать только один атрибут в nameFrom, но это плохо применимо когда нужно использовать два или более атрибута (например для модели User плагина Rainlab хорошо бы в фильтре выводить имя и фамилию).
Покажу на примере.
У нас есть своя модель, которая связана с моделью User плагина Rainlab. И мы решили в админке на списке всех наших записей сделать сортировку по пользователю.
Первым делом добавляем в config_filter.yaml
:
user_id:
label: User
modelClass: Rainlab\User\Models\User
conditions: user_id in (:filtered)
nameFrom: fullName
Можно заметить, что в nameFrom мы используем несуществующий атрибут для модели User. Чтобы он существовал, нужно добавить в модель User свой метод. В файле Plugin.php нашего плагина пишем:
public function boot()
{
User::extend(function($model) {
$model->addDynamicMethod('getFullNameAttribute', function($value) use ($model) {
return $model->name . ' ' . $model->surname;
});
});
}
В итоге получаем красоту: