Изменить результат в отношении отношение к - PullRequest
0 голосов
/ 24 апреля 2020

Мне просто интересно, как я могу решить это:

Я получил Продукт с отношением belongsTo.

/**
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    public function supplier()
    {
        return $this->belongsTo(Supplier::class);
    }

Это результат связанного supplier:

{
  "id": 1,
  "requirements": {
    "product": {
      "deliveryservice": {
        "type": "string",
        "title": "Delivery-Service"
      }
    }
  }
}

Теперь я хотел бы определить значение для requirements.

поставщика. Это входные данные:

<b-form-group :key="index" :label="requirement.title" v-for="(requirement, index) in product.supplier.requires.product">
    <component
            :id="`requirement-${index}-value`"
            :is="requirement.type"
            :name="`requirement-${index}-value`"
            :required="true"
            v-model="requirement.value">
    </component>
</b-form-group>

Результат сохраняется в таблице Product:

/*Create product*/
$product = Product::create([
    'product_supplier_value' => $request->input('data.supplier.requires.product'),
]);

Теперь, если я загружаю продукт, я вижу это:

{
  "id": 2,
  "deleted_at": null,
  "created_at": "2020-04-22 09:30:34",
  "updated_at": "2020-04-24 10:16:02",
  "product_supplier_id": 1,
  "product_supplier_value": {
    "product": {
      "type": "string",
      "title": "Delivery-Service",
      "value": "DHL"
    }
  }
}

Хорошо. Так что теперь, если я загружаю страницу, значение не отображается, потому что оно недоступно в product.supplier.requires.product.

Поэтому мой вопрос: как мне объединить значение, хранящееся в JSON -row product_supplier_value с belongsTo -отношение?

В данный момент я делаю какую-то дурацкую вещь, изменяя API-ресурс Product, отображая результат и добавляя находку. Но я думаю, это не лучший способ.

...