繁体   English   中英

Laravel 属于多由两个中间表?

[英]Laravel belongs to many by two intermediate tables?

大家好,我必须创建多对多关系,但要通过另一张表。 但是 laravel BelongsToMany在这里只给出 1 个中间表关系表结构:

features Table:
+----+-----------+
| id | text      |
+----+-----------+
| 1  | feature 1 |
+----+-----------+
| 2  | feature 2 |
+----+-----------+

feature_values table:
+----+-----------+-------+
| id | feature_id | text  |
+----+-----------+-------+
| 1  | 1          | val 1 |
+----+-----------+-------+
| 2  | 1          | val 2 |
+----+-----------+-------+
| 3  | 2          | val 3 |
+----+-----------+-------+

products table: 
+----+-------+
| id | name  |
+----+-------+
| 1  | tv    |
+----+-------+
| 2  | phone |
+----+-------+

product_features table:
+----+------------+------------+
| id | product_id | feature_id |
+----+------------+------------+
| 1  | 1          | 1          |
+----+------------+------------+
| 2  | 2          | 1          |
+----+------------+------------+
| 3  | 2          | 2          |
+----+------------+------------+

product_feature_values table:

+----+--------------------+------------------+
| id | product_feature_id | feature_value_id |
+----+--------------------+------------------+
| 1  | 1                  | 1                |
+----+--------------------+------------------+
| 2  | 2                  | 1                |
+----+--------------------+------------------+
| 3  | 2                  | 2                |
+----+--------------------+------------------+

我正在尝试通过product_feature_valuesproduct_featuresfeature_valuesproducts之间建立关系,以便通过feature_values获取product

我知道可以通过加入表来获取数据,但我正在寻找一种通过 laravel model 关系使用的解决方案

谢谢你。

我试过这样

class FeatureValue extends Model
{
   
    public function products()
    {
        return  $this->belongsToMany(Product::class,'product_feature_values')->withTimestamps();
    }

}

恐怕,Laravel 没有提供开箱即用的功能。 但是有一个名为staudenmeir/belongs-to-through的 package 可以做到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM