У меня есть две модели: предложения и специальности со многими ко многим:
в Offer.php
public function specialities()
{
return $this->belongsToMany('App\Speciality');
}
в Speciality.php
public function offers()
{
return $this->belongsToMany(Offer::class);
}
пока это просто.
Теперь я строю запрос, чтобы получать только предложения с определенной специальностью.Проблема в том, что я использую вспомогательную функцию when
, поэтому я не знаю, как получить доступ к специальной модели:
public function template($person = "", $speciality = "")
{
$offers = Offer::when($speciality, function($query, $speciality) {
return $query->specialities()->where('speciality_name', $speciality)->get();
})->orderBy('created_at','desc')->paginate(9);
}
И это не работает для меня.Кто-нибудь может дать мне совет, как мне написать это?