У меня есть проблемы с Laravel и многими из многих отношений.Laravel, запрашивая отношения «многие ко многим»
я иметь следующую структуру: Sensor -> группы датчиков -> использования
поэтому датчик может принадлежать многим группам, и группа может иметь несколько «использований».
Класс датчика выглядит следующим образом: класс
class sensor extends Model {
protected $table = 'sensor';
protected $primaryKey = 's_id';
public function groups()
{
return $this->belongsToMany('App\sensorgroup','sensor_sensorgroup','ssg_s_id','ssg_sg_id');
}
}
sensorgroup выглядит следующим образом:
class sensorgroup extends Model {
protected $table = 'sensorgroup';
protected $primaryKey = 'sg_id';
public function sensors()
{
return $this->belongsToMany('App\sensor', 'sensor_sensorgroup','ssg_sg_id','ssg_s_id');
}
public function usages()
{
return $this->belongsToMany('App\sensorgroupUsage','sensorGroup_sensorGroupUsage','sgsgu_sg_id','sgsgu_sgu_id');
}
}
и класс обыкновений выглядит следующим образом:
class sensorgroupUsage extends Model {
protected $table = 'SensorGroupUsage';
protected $primaryKey = 'sgu_id';
protected $fillable = ['sg_name'];
public function sensorgroups()
{
return $this->belongsToMany('App\sensorgroup','sensorGroup_sensorGroupUsage','sgsgu_sgu_id','sgsgu_sg_id');
}
}
Теперь я хочу получить все группы для датчика, но только если эта группа датчиков привязана к определенному «использованию».
Чтобы получить все sensorgroups для одного датчика, я могу использовать это:
$sensor = App\sensor::find($sensorId);
$groups = $sensor->groups();
Я не могу, однако выяснить, как добавить условие получить только группы датчиков, которые прикреплены к конкретному использованию. Есть идеи?
Какая версия Laravel вы используете? – TheFallen