Я пытался создать сайт электронной коммерции в Laravel и получил сообщение об ошибке, в котором говорится, что «свойство исключения [product_quantity] не существует в экземпляре Eloquent Builder». когда я пытался обновить количество товара в базе данных.
По сути, я хотел сделать следующее: если пользователь пытается добавить товар, который уже есть в его корзине, количество увеличивается на 1 и общая цена продукта изменяется соответственно. Чтобы добиться этого, я сначала проверил БД на наличие записи с
$findProduct = StoreCart::where('product_id', $product->id);
"StoreCart" - это название моей модели для хранения данных корзины. Затем, после того, как я выполнил запрос на поиск, был
if($findProduct) {
// product is already in DB, set new quantity
$newQuantity = $findProduct->product_quantity + $getQuantity;
$newProductTotal = $findProduct->product_price * $newQuantity;
// update the exsisting product
$findProduct->update([
'product_quantity' => $newQuantity,
'product_total' => $newProductTotal,
]);
} else {
// create new field and store it in db
StoreCart::create([
'user_id' => Auth::id(),
'product_id' => $product->id,
'product_name' => $product->name,
'product_price' => $amount,
'product_quantity' => $getQuantity,
'product_total' => $productTotal,
]);
}
, и когда я попытался выполнить это, появляется вышеупомянутая ошибка, говорящая, что [product_quantity] не существует в экземпляре Eloquent Builder. В чем проблема с этим?