Здравствуйте, RESTAPI не получается, точней вообще не понятно как сделать сортировку по связанным полям, например:
Есть у нас model.php в нем
public function fields()
{
$fields = [
'id',
'divisionName' => function () {
$divisionName = Division::findOne($this->divisionId);
return isset($divisionName->fullName) ? $divisionName->fullName : null;
},
Поля divisionName - не существует в текущей модели, мы его берем из другой таблицы, но нам требуется по умолчанию сортировку в текущей модели по этому полю
ASC или DESC не важно, главное чтобы сортировка отрабатывал и выводила в JSON.
Саму сортировку делаем в контроллере
'prepareDataProvider' => function ($actions) {
$model = new $this->modelClass();
$query = $model::find()->where(['dateComplete' => NULL]);
$query->orderBy([
'divisionName' => SORT_ASC,
'objectName' => SORT_ASC
]);
В итоге получаем логичный ответ:
[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid column name 'divisionName'.\nThe SQL being executed was: SELECT * FROM [PRECEPT] WHERE [dateComplete] IS NULL ORDER BY [divisionName], [objectName]",