Сортировка на hasMany модели - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть две таблицы

Расположение и услуги

У меня есть отношения hasMany, в местоположении много услуг.

У меня есть поле 'sort_order' в таблице служб, и я хочу отсортировать службы по этому. Я фильтрую результаты, но мне просто нужно отсортировать их в поле 'sort_order' на таблице служб.

Модель местоположения

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Location extends Model
{
    protected $table ='location';

    public function sorter(){
      return ($this->hasMany(Sorter::class));
    }

}

Модель услуг

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Sorter extends Model
{
    protected $table = 'sorter';


}

Контроллер

public function getSort($id){

      $tenantId = $id;

      $filtered = Location::with(['sorter' => function($query) use ($tenantId) {

        $query->where('tenant_id', $tenantId)->orderBy('sort_order', 'asc');
      }])->orderBy('sortersort_order')->get();

      foreach($filtered as $dat){
        foreach($dat->sorter as $d){
          echo($d .  '<br />');
        }

      }

    return view('sorter')->with('data', $filtered);
    }


Я хочу вернуть результаты, отсортированные по полю sort_order из таблицы служб

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