laravel orderby вложенная родственная модель - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть модель с именем "Date", которая имеет отношение (one-to-one) с "Tour" и "Tour" Модель имеет отношение (many-to-many) с "Type" Модель. Я хочу заказать мои записи на основе имени "Type". К сожалению, я не имею ни малейшего понятия, чтобы сделать это с Eloquent.

Date model:

public function Tour()
{
    return $this->belongsTo('\App\Tour');
}

Tour model:

public function Date()
    {
        return $this->hasOne('\App\Date','tour_id');
    }
 public function Types()
    {
        return $this->belongsToMany('\App\Type');
    }

Type model:

public function Tours()
    {
        return $this->belongsToMany('\App\Tour');
    }

и мой controller для вывода:

public function tourList()
    {

        $dates = new Date();
        $dates = $dates->orderBy('id','asc')
            ->paginate(6)
            ->appends([
            'sort_price' => request('sort_price'),
            'minmax' => request('minmax'),
            'type' => request('type')
        ]);
        return view('primary.Tour.list', compact(['dates']));
}

1 Ответ

0 голосов
/ 30 апреля 2018
$dateRes = Date::join('type_tour as TT', 'TT.tour_id', '=', 'date.tour_id')
         ->join('type as T','TT.type_id','=','T.id')
         ->orderBy('T.name')
         ->get();

Посмотрите, работает ли это для вас.

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