public function run()
 {
     $faker = Factory::create();
     $orders = Order::lists('id');
     $products = Product::sell()->lists('id');
     foreach (range(1, 45) as $index) {
         if ($index > 29) {
             $index -= 29;
         }
         OrderProduct::create(['order_id' => $orders[$index], 'product_id' => $faker->randomElement($products), 'quantity' => $faker->numberBetween(1, 3)]);
     }
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit(Order $order, Product $product)
 {
     if (!$order->isAuthorized()) {
         return redirect(route('orders.edit', [$order->id]))->with('error', 'You can\'t change product');
     }
     $products = Product::sell()->lists('name', 'id');
     $pivot = $order->products()->find($product->id);
     if (!$pivot) {
         return redirect()->back()->with('error', 'This product don\'t belongs to that order');
     }
     $pivot = $pivot->pivot;
     return view('orders.products.edit', compact('order', 'products', 'categories', 'product', 'pivot'));
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create()
 {
     $selectedProducts = [];
     if (session()->has('products')) {
         $selectedProducts = session()->pull('products');
     }
     $select = [0 => '-- Select --'];
     $productsModel = Product::sell()->get();
     $products = [];
     foreach ($productsModel as $product) {
         $products[$product->id] = $product->name . ' - price ' . $product->price;
     }
     if (Input::get('product') && empty($selectedProducts)) {
         #product clicked from link
         $selectedProducts[] = ['product_id' => Input::get('product'), 'quantity' => 1];
     }
     $products = $select + $products;
     return view('orders.create', compact('products', 'selectedProducts'));
 }