У меня есть проект с основной таблицей «Qsos» и связкой отношений. Теперь, когда я пытаюсь создать расширенный поиск, я не знаю, как запросить все отношения в одно и то же время. Модель Q так следующее:Laravel 4 Запрос на отношения с жильем
public function band()
{
return $this->belongsTo('Band');
}
public function mode()
{
return $this->belongsTo('Mode');
}
public function prefixes()
{
return $this->belongsToMany('Prefix');
}
public function user()
{
return $this->belongsTo('User');
}
public function customization() {
return $this->hasOne('Customization');
}
Тогда я SearchController с следующим кодом, который должен вернуть коллекцию всех радиосвязей следующих необходимых условий:
$qsos = Qso::withUser($currentUser->id)
->join('prefix_qso','qsos.id','=','prefix_qso.qso_id')
->join('prefixes','prefixes.id','=','prefix_qso.prefix_id')
->where('prefixes.territory','like',$qTerritory)
->withBand($qBand)
->withMode($qMode)
->where('call','like','%'.$input['qCall'].'%')
->orderBy('qsos.id','DESC')
->paginate('20');
И тогда в силе нужно вызвать $ qso-> prefixes-> first() и $ qso-> prefixes-> last() (Qso и Prefix имеют отношение manyToMany), но оба возвращают null. Что не так?
Если я забрать с собой («префиксов») скорость становится приемлемым – brack11