Суть такая
Есть четыре таблицы : Habitation, HabitationPlace, Place и Room
Связаны они следующим образом
//Habitation и HabitationPlace
public function places() {
return $this->hasMany('App\Habitationplace', 'habitation_id', 'id');
}
//HabitationPlace и Place
public function place()
{
return $this->hasOne('App\Place', 'id', 'place_id');
}
//Place и Room
public function room()
{
return $this->hasOne('App\Room', 'id', 'room_id');
}
как итог Habitation и Room напрямую не связаны, но мне нужно получить значение level_id из Room для поиска (больше оно нигде не выводится)
как можно их связать и где это должно быть описано (в модели или контроллере)?
p.s. на данный момент у меня такой код, он работает, но level в нём участия не принимает, в честь чего и вопрос:
{
$level_idd = $request['level']+2;
$level_id = DB::table('room')->where('level_id', '=', $level_idd)->get();
$habitation = Habitation::with(["places"])
->where('status','=','saselen')
->whereDate('dogovor_date','>=',$start_date)
->whereDate('dogovor_date','<=',$date_end)
->where('documenul_id','=',$request['documenuls'])
->get();
}