Есть у меня такая вот миграция:
Schema::create('categories', function (Blueprint $table) {
$table->mediumIncrements('id');
$table->string('name')->index(); // Заголовок
$table->text('text')->nullable(); // Описание
$table->string('title',150); // title на странице категории
$table->string('keywords',212)->nullable(); // keywords на странице категории
$table->text('description'); // description на странице категории
$table->string('image',80)->nullable(); // путь до картинки категории
$table->string('folder',23)->nullable(); // название папки где хранятся картинки контента
$table->boolean('is_extended')->default(0); // расширенная категория или нет
$table->boolean('hide')->default(0); // опубликован или не опубликован
$table->string('alias',160); // URL категории
$table->unsignedTinyInteger('index')->default(0); // Позиция категории
$table->unsignedMediumInteger('parent_id')->nullable();
$table->foreign('parent_id')->references('id')->on('categories')->onDelete('set null');
$table->timestamps();
});
Нужно реализовать возможность перетаскивания категорий, допустим та категорию которая в конец, её можно перетащить в начало, и она станет первой, это я реализовал с помощью поля в БД
index
и при выводе происходит сортировка по этому полю. Но проблема в том, что по умолчанию у всех категорий
index
0, и сначала идут все категории с index 0 а потом уже всё остальное, как вот решить данную проблему ? Просто что ли при создании каждой категории инкрементировать этот index ? Но мне кажется вариант не очень какой-то.