Esempio n. 1
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     for ($i = 1; $i < 10; $i++) {
         \App\Models\Cart::create(['table_id' => $i, 'status' => 'active']);
     }
     $faker = Faker\Factory::create();
     for ($i = 1; $i < 10; $i++) {
         for ($k = 1; $k < 6; $k++) {
             \App\Models\CartItem::create(['cart_id' => $i, 'product_id' => $k, 'quantity' => $faker->numberBetween(5, 20), 'status' => 'active']);
         }
     }
 }
Esempio n. 2
0
 public function add_cart(Request $request)
 {
     //判断购物车,当前商品是否有记录
     $cart = Cart::where('good_id', $request->good_id)->where('user_id', $this->user->id)->first();
     //当前商品库存数
     $number = Good::find($request->good_id)->number;
     //        //如果是初次新增到购物车
     if (!$cart) {
         //如果用户提交数大于库存数,提示商品库存不足
         if ($request->num > $number) {
             return response()->json(['status' => 0, 'info' => '商品库存不足']);
         }
         Cart::create(['good_id' => $request->good_id, 'user_id' => $this->user->id, 'number' => $request->num]);
         return response()->json(['status' => 1, 'info' => '恭喜,已添至购物车~', 'cart_number' => $this->cart_number()]);
     }
     //如果购物车已经有该商品的记录
     //购物车里的数量+用户新提交的数量 > 库存数
     $new_num = $cart->number + $request->num;
     if ($new_num > $number) {
         return response()->json(['status' => 0, 'info' => '商品库存不足']);
     }
     //如果库存足够,就把原有的数量+新数量,更新数据库
     $cart->number = $new_num;
     $cart->save();
     //status起一个壮态标志作用,看是否购买成功
     return response()->json(['status' => 1, 'info' => '恭喜,已添至购物车~', 'cart_number' => $this->cart_number()]);
 }
 public function add_cart(Request $request)
 {
     //判断购物车,当前商品是否有记录
     $cart = Cart::where('good_id', $request->good_id)->where('user_id', $this->user->id)->first();
     //当前商品库存数
     $number = Good::find($request->good_id)->number;
     //如果是初次新增到购物车
     if (!$cart) {
         //如果用户提交数大于库存数,提示商品库存不足
         if ($request->num > $number) {
             return response()->json(['status' => 0, 'info' => '购买量不能超过库存总数']);
         }
         Cart::create(['good_id' => $request->good_id, 'user_id' => $this->user->id, 'num' => $request->num]);
         return response()->json(['status' => 1, 'info' => '恭喜,已添至购物车~', 'cart_number' => $this->cart_number()]);
     }
     //如果购物车已经有该商品的记录
     //购物车里的数量+用户新提交的数量 > 库存数
     $new_num = $cart->num + $request->num;
     if ($new_num > $number) {
         return response()->json(['status' => 0, 'info' => '购物车中该商品数量已超过库存']);
     }
     $cart->num = $new_num;
     $cart->save();
     return response()->json(['status' => 1, 'info' => '恭喜,已添至购物车~', 'cart_number' => $this->cart_number(), 'total_price' => number_format($this->total_price(), 2)]);
 }
Esempio n. 4
0
 /**
  * Create the cart
  *
  * @param $tableId
  * @return static
  */
 private function createCart($data)
 {
     return Cart::create($data);
 }