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