Мне не ясно, каковы отношения между Продуктом, Дистрибьютором, Продуктом и Дистрибьютором, но я думаю, что вы хотите указать другой тип отношений между Дистрибьютором и Продуктом (и Продуктом -> Дистрибьютором). В вашем модальном классе Distributor вы можете попробовать определить метод вашего продукта следующим образом:
public function product() {
return $this->hasOneThrough(Product::class, Distributorproduct::class);
}
и метод распространителя в модальном классе Product следующим образом:
public function distributor() {
return $this->hasOneThrough(Distributor::class, Distributorproduct::class);
}
Но ваш пробег может отличаться этот тип отношений приемлем только в том случае, если у Продукта есть один дистрибьютор (вероятно), а у дистрибьютора один продукт (вряд ли, я думаю).
Документы Laravel имеют довольно хорошую документацию о отношения . Особенно подробно рассматриваются Имеет один сквозной и Имеет много сквозных абзацев.