Сопутствующие товары в Laravel / Nova - PullRequest
0 голосов
/ 19 февраля 2019

Создание логики связанных продуктов для импорта продукта, где продукт A может иметь продукт перекрестной продажи B, C, D, ... Но продукт D также может иметь продукт A в качестве партнера перекрестных продаж.

Iесть таблица продуктов и модель продукта (Eloquent, Laravel).Я попытался добавить таблицу product_product с product_id и related_product_id в рамках модели RelatedProduct (определил таблицу product_product вручную в модели).Затем в модель RelatedProduct были добавлены два отношения ownTo: Product и RelatedProduct, где relatedProduct определяется как related_product_id как foreignKey, а ключ владельца - это идентификатор таблицы продуктов.

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 Product:

BelongsToMany :: make ('Сопутствующие товары', 'relatedProducts'),

Поля ресурсов Inova RelatedProduct:

BelongsTo :: make ('Product'),

BelongsTo :: make ('Сопутствующие товары', 'relatedProduct', 'App \ Nova \ Product'),

Теперь я хочу добавить это в свой сервер nova, как мне это сделать?Я добавил ресурс RelatedProduct в свою новинку, где я могу выбрать отношение вручную.Но когда я просматриваю информацию о моем продукте и пытаюсь добавить новое отношение, я получаю только текущий идентификатор продукта.

Кто-нибудь может помочь?

...