Изменить цену всех товаров в корзине с помощью Laravel - PullRequest
0 голосов
/ 03 ноября 2018

Я создаю интернет-магазин для проката. Я хочу иметь возможность изменять цену предметов в зависимости от количества дней, в течение которых они арендовали предмет. Я уже смог узнать количество дней, но не знал, как изменить цену товара.

Это мой код в контроллере корзины.

Я получаю ошибку, что $ 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;
    }

1 Ответ

0 голосов
/ 03 ноября 2018

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

\DB::statement("update carts set price = ABS(`price` * datediff(?,?)) where id=?", [$dateOut, $dateIn, $cart_id]);
...