雄辩 - 如何使用"Has Many Through"关系?



我有三个表格 - 产品、功能和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
}

这是一个BelongsToMany关系:

public function features() {
return $this->belongsToMany(Feature::class, 'product_feature')->withPivot('value');
}
foreach($product->features as $feature) {
// $feature->key
// $feature->pivot->value
}

最新更新