как получить много-много данных об отношениях в laravel? - PullRequest
0 голосов
/ 02 мая 2020
Suppliers table

id | name

1  | supplier1

2  | supplier2
Products table

id | name

1  | product1

2  | product2
Attributes table

id | name

1  | width

2  | heigh

3  | weight

4  | volume
supplier_product table

supplier_id | product_id | price

1           | 1          | 1000

1           | 2          | 1500

2           | 1          | 1100
attribute_product

supplier_id | product_id | attribute_id | value

1           | 1          | 1            | 10

1           | 1          | 2            | 15

1           | 1          | 3            | 20

1           | 2          | 1            | 11

1           | 2          | 2            | 16

2           | 1          | 1            | 10

2           | 1          | 2            | 13

Как получить атрибут для каждого товара для каждого поставщика?

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете использовать отношение hasManyThrough (https://laravel.com/docs/7.x/eloquent-relationships#has -many-through ), если вы изменяете структуру своих таблиц.

Модель поставщика

public function attributes()
{
    return $this->hasManyThrough('App\Attribute', 'App\Product');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...