Eloquent - Как использовать отношение «Имеет много»? - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть три таблицы - продукты, характеристики и product_feature - как

products
    - id
    - name
features
    - id
    - key
product_feature
    - product_id
    - feature_id
    - value

Я получил все пары (ключ, значение) для продукта. SQL-оператор

SELECT key, value FROM products
JOIN product_feature pf
ON pf.product_id = "Product ID"
JOIN features f
ON f.id = pf.feature_id

Как мне установить эти отношения

// Inside Product model
function features() {
    // Has many through relationship
}

1 Ответ

0 голосов
/ 05 сентября 2018

Это отношение BelongsToMany:

public function features() {
    return $this->belongsToMany(Feature::class, 'product_feature')->withPivot('value');
}

foreach($product->features as $feature) {
    // $feature->key
    // $feature->pivot->value
}
...