/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $items = $request->get('items'); $me = \Auth::user(); $order = new \App\Order(); $order->client()->associate($me); $my_orders = $me->orders; if ($my_orders->isEmpty()) { foreach ($me->waiters()->online()->get() as $waiter) { \App\Notification::add($me->toArray(), 'serve_me', $waiter); } } else { $my_order = $my_orders->first()->toArray(); if ($my_order['waiter_id']) { $waiter = \App\User::find($my_order['waiter_id']); $order->waiter()->associate($waiter); \App\Notification::add($me->toArray(), 'serve_me_again', $waiter); } } $order->save(); foreach ($items as $item) { $food = \App\Food::find($item['food']); if ($food->category->menu->admin_id == $me->admin_id) { $item = new \App\OrderItem($item); $item->food()->associate($food); $item->order()->associate($order); $item->save(); } } return $order->load('items.food'); }
public function run() { // Uncomment the below to wipe the table clean before populating DB::table('order_items')->delete(); for ($i = 0; $i < 300; $i++) { $globex = App\Globex::find(rand(1, 200)); App\OrderItem::create(['order_id' => rand(1, 100), 'product_id' => $globex->product->id, 'price' => $globex->product->price]); } }