<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Order; use App\Models\Service; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; class TransactionController extends Controller { //THis should also reduce user's available credits public function newOrder(Request $request) { $user = Auth::user(); $order = new Order; $order->service_id = $request->service; $order->user_id = Auth::user()->id; $order->quantity = $request->quantity; $order->url = $request->url; $order->note = $request->note ?: ''; $order->status = 'processing'; $cost = ceil($order->quantity*$order->service->price/1000); $user->credits = $user->credits - $cost; if ($cost > $user->credits) { abort(520, 'Insufficient Credits'); } $user->save(); $order->save(); } }