Сортировка задач по идентификатору из нескольких тегов - PullRequest
0 голосов
/ 14 ноября 2018

Мне нужно отсортировать мои задачи по идентификатору, и это нормально работает, когда все задачи из одного тега, но когда есть более одного тега, я получаю результат, похожий на тот, который находится под моим контроллером

Мой контроллер:

$Task = Enrollee::
->with(['path.pathtags' => function ($q) use ($TagArray)
{
  $q->with(['Tasks' => function ($q) use ($TagArray)
  {
    $q->has('tasktags', '=', 2)
      ->orderBy('id', 'asc')
      ->whereDoesntHave(
        'tasktags',
        function ($query) use ($TagArray) {
          $query->whereNotIn('name', $TagArray);
        }
      )
      ->with('tasktags')->orderBy('id', 'asc');
   }]
   )->orderBy('id', 'desc');
}])

Так что мой вывод похож на

Tag : Art                    
Post id : 8                     
Post Name : Post About art..               
................. 

Tag : fun           
Post id : 9                              
Post Name : Post About fun..

...................              

Tag : Food               
Post id : 11                         
Post Name : Post About food.. 

Так что мне нужно получить их правильно по id

11                 
9               
8  

1 Ответ

0 голосов
/ 17 ноября 2018

Вы заказываете свои данные несколько раз. Я бы предположил, что если у вас есть разные теги, задачи сначала упорядочиваются по тегу tag в порядке возрастания. После этого он упорядочен по идентификаторам задач в порядке убывания. Попробуйте добавить еще несколько задач, которые имеют один и тот же тег, чтобы понять, что я имею в виду.

$Task = Enrollee
->with(['path.pathtags' => function ($q) use ($TagArray)
{
  $q->with(['Tasks' => function ($q) use ($TagArray)
  {
    $q->has('tasktags', '=', 2)
      ->orderBy('id', 'asc')
      ->whereDoesntHave(
        'tasktags',
        function ($query) use ($TagArray) {
          $query->whereNotIn('name', $TagArray);
        }
      )
      ->with('tasktags')->orderBy('id', 'asc');
   }]
   )->orderBy('id', 'desc');
}])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...