Я создаю интернет-магазин для прокатной компании. Я хочу иметь возможность изменять цену предметов в зависимости от количества дней, в течение которых они арендовали предмет. Я уже смог узнать количество дней, но не знал, как изменить цену товара.
Это мой код в контроллере корзины.
Я получаю ошибку, что $ rowId не определен.
public function getTime(Request $request){
$startD = Carbon::parse($request->input('dateOut'));
$endD = Carbon::parse($request->input('dateIn'));
$length = $endD->diffInDays($startD) + 1;
$total = Cart::subtotal();
$rows = Cart::count();
for ($i=0; $i <$rows ; $i++) {
$item = Cart::get($rowId);
Cart::update(
$rowId, [
'price' => $items->product_price*$length,
]);
}
echo $startD;
echo $endD;
echo $length;
echo $total;
}
Если вы обновляете цену конкретного cart
Тогда вы можете использовать такой запрос.
\DB::statement("update carts set price = ABS(`price` * datediff(?,?)) where id=?", [$dateOut, $dateIn, $cart_id]);
Других решений пока нет …