Viewing file: DashboardController.php (2.7 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers\Customer;
use App\Http\Controllers\Controller; use App\Models\Deposit; use App\Models\Order; use App\Models\Transaction; use Carbon\Carbon; use App\Models\Notice; use Illuminate\Support\Facades\Date; use Illuminate\Support\Facades\DB; use Response; class DashboardController extends Controller {
public function index() { $data['totalTickets'] = auth('customer')->user()->tickets()->count(); $data['balance'] = auth('customer')->user()->wallet()->sum('amount'); $orderStatus = auth('customer')->user()->orders()->select('status', DB::raw('count(*) as total')) ->groupBy('status') ->pluck('total','status')->all(); $data['orderStatus'] = $orderStatus; $transactionType = auth('customer')->user()->transactions()->select('type', DB::raw('SUM(amount) as total')) ->groupBy('type') ->pluck('total','type')->all(); $data['transactionType'] = $transactionType;
$data['totalOrders'] = auth('customer')->user()->orders()->count();
$orders = auth('customer')->user()->orders()->where('created_at', '>', now()->subDays(30)) ->select(DB::Raw('count(*) as count'),DB::Raw('DATE(created_at) day')) ->groupBy('day')->get() ->pluck('count','day');
$monthlyOrders=[]; foreach (getLastNDays(30) as $day){ $monthlyOrders[]=isset($orders[trim($day, '"')])?$orders[trim($day, '"')]:0; }
$deposits = auth('customer')->user()->deposit()->where('created_at', '>', now()->subDays(30))->where('status','approved') ->select(DB::Raw('count(*) as count'),DB::Raw('DATE(created_at) day')) ->groupBy('day')->get() ->pluck('count','day'); $monthlyDeposits=[]; foreach (getLastNDays(30) as $day){ $monthlyDeposits[]=isset($deposits[trim($day, '"')])?$deposits[trim($day, '"')]:0; } $monthly = []; foreach (getLastNDays(30) as $day){ $day=Carbon::createFromTimeString(str_replace('"','',$day." 0:00:00")); $monthly[]= $day->format('m-d-Y'); } $data['months'] = $monthly; $data['monthlyDeposits'] = $monthlyDeposits; $data['monthlyOrders'] = $monthlyOrders; return view('customer.dashboard', $data); } public function fileDownload($id) { $noticeDocuments = Notice::where('id',$id)->first(); $filepath = public_path('uploads/') . "$noticeDocuments->attach_file";
if(file_exists($filepath)){ return Response::download($filepath); } else { return redirect()->back()->with('fail', 'NO such File Exists'); } } }
|