Laravel: как передать другой параметр в корзину Crinsane

Мне нужно передать поле purchase_prices из таблицы product в корзину для покупок crinsane, чтобы я мог видеть profit из каждой транзакции и сохранять его в базе данных.

Вот мой код на CartController

$product = Product::find($id);

Cart::add([
    'id' => $product->id,
    'name' => $product->name,
    'qty' => 1,
    'price' => $product->sell_price,
    'options' => ['purchase' => $product->purchase_price]
]);

return back();

но покупка не сохраняется

Collection {#257 ▼
  #items: array:1 [▼
    "370d08585360f5c568b18d1f2e4ca1df" => CartItem {#258 ▼
      +rowId: "370d08585360f5c568b18d1f2e4ca1df"
      +id: 2
      +qty: 1
      +name: "Beras B"
      +price: 12000.0
      +weight: 1.0
      +options: CartItemOptions {#259 ▼
        #items: []
      }
      -associatedModel: null
      -taxRate: 0
      -discountRate: 0
    }
  ]
}

person Barraaa    schedule 22.04.2019    source источник
comment
принимает ли Cart :: add массивы как значения ›?   -  person madalinivascu    schedule 22.04.2019


Ответы (1)


@foreach ($cartItems as $cartItem)
    <?php $no++ ?>
    <tr>
        <td>{{$no}}</td>
        <td>{{$cartItem->name}}</td>
        <td>{{$cartItem->qty}}</td>
        <td>{{$cartItem->price}}</td>
        <td>{{$cartItem->options->purchase}}</td>
        <td></td>
        <td>
          <a href="" class="btn btn-success btn-sm">Update</a>
          <a href="" class="btn btn-danger btn-sm">Delete</a>
        </td>
    </tr>
@endforeach

Я вижу, вы пытаетесь получить несколько строк из таблицы, когда пишете

{{$ cartItem-> параметры-> покупка}}

вы должны указать это конкретное имя строки, которое вы хотите отобразить, и оно должно совпадать с именем, используемым в вашей таблице.

person Terrymight    schedule 22.04.2019
comment
как я называю поле покупки в опции? - person Barraaa; 22.04.2019
comment
просто измените это {{$ cartItem- ›options-› Purchase}} на это {{$ cartItem- ›Purchase}} - person Terrymight; 02.06.2019