У меня проблемы с цепочкой отношений. Я хочу объединить три из них, но это не работает должным образом:
return UserModel::with('cars.pieces.attributes')
Я хочу получить пользователя с его автомобилями. Он выбрал автомобиль, у которого есть кусочки, и для каждого кусочка он выбрал атрибут.
Имея только cars.pieces.
, у меня есть мой пользователь, затем массив машин, а затем массив кусков для этого автомобиля. Когда я добавляю атрибуты, у меня есть атрибуты не для кусков автомобилей пользователей, а для кусков, какими бы машинами они ни были.
Кажется, что отношения ищут только предыдущее отношение, а не весь пакет.
public function cars(){
return $this->belongsToMany(CarsModel::class, 'user_cars', 'id_user','id_cars');
}
Затем
public function pieces(){
return $this->belongsToMany(PiecesModel::class, 'cars_pieces', 'id_cars','id_pieces')
}
И наконец:
public function attributes(){
return $this->belongsToMany(AttributeModel::class, 'user_cars_pieces_attributes', 'id_attribute', 'id_piece')
}
Последний объект использует 4 поля для первичного ключа:
id_user, id_car, id_attribute, id_piece
Каким может быть способ получения атрибутов для кусков автомобилей пользователя?
Спасибо за помощь!