OctoberCms Отсутствует ключ сортировки по умолчанию в классе модели - PullRequest
0 голосов
/ 17 января 2020

В бэкэнде OctoberCMS я создал контроллер и модель (Адреса), используя командные строки scaffold, установил конфигурацию для (столбцы и поля yaml-файлов), и при попытке открыть страницу обновления для записи, он дает мне эта ошибка:

SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец 'sort_order' в 'предложении порядка' (SQL: выберите * из directory_subject_address, где directory_subject_address. id = 1016 порядок по sort_order как c предел 1) "в строке 664 PathToMyLocalProject \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connection. php

I в моей таблице БД нет ключа sort_order.

Я думаю, что в классе модели может отсутствовать ключ сортировки по умолчанию.

Ответы [ 2 ]

2 голосов
/ 17 января 2020

Во время эшафота, я думаю, добавлено поведение sortable.

Итак, если вам нужно Sortable behavior, на вашем столе должно быть поле sort_order.

Если вы не затем просто удалите поведение ReorderController из контроллера и черту October\Rain\Database\Traits\Sortable OR October\Rain\Database\Traits\NestedTree из модели (в вашем случае модель адресов).

справочная информация: https://octobercms.com/docs/backend/reorder.

если есть сомнения, прокомментируйте.

0 голосов
/ 18 января 2020

Другой ответ правильный и сработал для меня, чтобы решить эту проблему (сохраняя черту Sortable), только что найденную в Черты - октябрь CMS :

Вы можете изменить имя ключа, используемое для определения порядка сортировки путем определения константы SORT_ORDER: const SORT_ORDER = 'my_sort_order_column';

Чтобы класс модели был таким:

class MyModel extends Model {
    use \October\Rain\Database\Traits\Sortable;
    const SORT_ORDER = 'custom_sort_order_column';
}
...