HDApache
@HDApache
PHP программист

Как организовать свой порядок сортировки в YII2?

Как в YII2 организовать свой порядок сортировки?
К примеру есть модель Clients таблица clients (mysql) нужно создать свой порядок следования.
На ум приходит как добавить скажем поле sort в таблицу и менять там значения местами. Может как то по другому это решить?
Если нет, то как добавлять значения в это поле? MySQL не позволяет делать autoincrement более чем для 1 поля, получается либо триггер писать, либо через YII в модели в методе afterSave писать update получиться 2 запроса после insert сразу update

Как правильно решить эту задачу?
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 1
@justpusher
Обычно используют отдельное поле, order или position, и отдельно его заполняют. Если только средствами ORM - то только beforeSave/afterSave (мне больше нравится первое). Если можете написать свой запрос для сохранения - можете решить одним запросом INSERT с подзапросом.

Если очень хотите средствами ORM и одним запросом - можете в поле order вставлять текущую дату-время с микросекундами. Но это извращение, я считаю. Нет ничего страшного в двух запросах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы