Laravel / Nova相关产品

时间:2019-02-19 13:36:14

标签: laravel eloquent many-to-many laravel-nova

为产品导入创建相关产品逻辑,其中产品A可以交叉销售产品B,C,D ... 但是产品D也可以将产品A作为交叉销售合作伙伴。

我有一个产品表和产品型号 (雄辩,Laravel)。 我尝试在RelatedProduct模型下添加带有product_id和related_product_id的product_product表(在模型中手动定义表product_product)。 然后,我向RelatedProduct模型添加了两个belongsTo关系: 产品和RelatedProduct,其中relatedProduct定义为related_product_id为ForeignKey,所有者密钥是products表的ID。

public function product()
{
    return $this->belongsTo(Product::class);
}

public function relatedProduct()
{
    return $this->belongsTo(
        Product::class,
        self::FIELD_RELATED_PRODUCT_ID,
        Product::FIELD_ID
    );
}

在nova Resource Fields产品中:

BelongsToMany :: make('Related Products','relatedProducts'),

在nova资源字段相关产品中:

BelongsTo :: make('Product'),

BelongsTo :: make('相关产品','relatedProduct','App \ Nova \ Product'),

现在我要将其添加到我的nova后端,该怎么做? 我在我的nova中添加了相关产品资源,可以在其中手动选择关系。 但是,当我查看“产品详细信息”并尝试添加新的关系时,只会得到当前的产品ID。

有人可以帮忙吗?

0 个答案:

没有答案