Почему присоединенный запрос Laravel изменяет порядок, если используется отличный? - PullRequest
0 голосов
/ 02 июня 2019

У меня следующий запрос:

$recentTasks = Task::where('assigned_to','=',$user->id)->join('task_comments','task_comments.task_id','=','tasks.id')->orderBy('task_comments.updated_at','DESC')->select('tasks.*')->limit(10)->get();

Мне нужен список задач, в которых были последние комментарии.Поэтому я присоединился к таблице комментариев и заказал ее.Это работает, и недавно прокомментированные задачи находятся наверху.Но у него есть дубликаты, поэтому одна задача может появляться несколько раз.Если я вставлю - - Different () или -> Different ('tasks.id'), дубликаты исчезнут, но сортировка по порядку будет неправильной.

Как сохранить порядок сортировки, но удалить дубликаты

1 Ответ

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

Nevermind.Я решил это с помощью уникального в коллекции:

$recentTasks = Task::where('assigned_to','=',$user->id)->join('task_comments','task_comments.task_id','=','tasks.id')->orderBy('task_comments.updated_at','DESC')->select('tasks.*')->get()->unique('id')->slice(0,10);
...