Порядок Laravel по конкретному столбцу равен id - PullRequest
0 голосов
/ 27 июня 2019

У меня есть таблица, называемая столбцами точек (id, name, with), в которой столбец описывает, какая точка связана с другой точкой по id, что мне нужно для выбора этих данных, отсортированных по каждой точке, связанной с другой по laravel elequant

id   name   with
 1    point1  3
 2    point2  6
 3    point3  1
 4    point4  5
 5    point5  4
 6    point6  2

$data = $this->model
        ->select('id', 'name', 'with')
        ->where('with', '!=', NULL)
        ->orderByRaw(DB::raw("FIELD('id', 'with')"));

Мне нужно что-то подобное:

id   name   with
1    point1  3
3    point3  1
2    point2  6
6    point6  2
4    point4  5
5    point5  4

1 Ответ

0 голосов
/ 27 июня 2019

Это должно работать так, как вы хотите!

EDITED

$data = $this->model
        ->select(DB::raw('id, name, with, CONCAT( GREATEST(id,with) , LEAST(id,with)) as sortCrit' )
        ->whereNotNull('with')
        ->orderBy('sortCrit');

Кстати, лучше, если вы не используете "с" какимя столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...