Laravel | Столбец связанной таблицы OrderBy в сборочном конструкторе - PullRequest
0 голосов
/ 05 июня 2019

У меня есть наполовину готовый экземпляр Builder:

$builder = PageLang::with(['page', 'version'])
           ->where('page_id', $_GET['id']) 
           ->groupBy('version_id').

И мне нужно отсортировать результат по столбцу страницы (URL).Хитрость в том, что мне нужно делать уже с наполовину собранным Builder.Я не могу сделать это раньше.Так как мне сделать что-то подобное:

$builder->related('page', function($q) { $q->orderBy... })

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Вы пробовали это:

$builder = PageLang::join('pages', 'pages.id', '=', 'page_langs.page_id') // you could write your joining columns here
       ->with(['page', 'version'])
       ->where('page_id', $_GET['id']) 
       ->groupBy('version_id')
       ->orderBy('pages.column, 'DESC')->get();
0 голосов
/ 05 июня 2019

это бы я сделал. Это будет загружено

$builder->with('page', function($q) { 
      $q->orderBy... 
});

Также вместо $_GET используйте вспомогательную функцию request() или объект $request, если он есть в методе контроллера

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