/
home
/
old_henza
/
server
/
app
/
Http
/
Controllers
/
Adm
/
File Upload :
llllll
Current File: /home/old_henza/server/app/Http/Controllers/Adm/LogController.php
<?php namespace App\Http\Controllers\Adm; use App\Http\Controllers\Controller; use App\Models\Customer; use App\Models\Log; use Carbon\Carbon; use Carbon\CarbonInterval; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class LogController extends Controller { public function queryTitle(Request $request){ $log = Log::with('product'); $logs = $this->queryForLog($log,$request,['title','product_id']); for ($i = 0;$i<count($logs);$i++){ $logs[$i]['time'] = CarbonInterval::seconds($logs[$i]['total_time'])->cascade()->forHumans(); } return response()->json(array_reverse($logs)); } public function queryAllCustomer(Request $request){ $log = Log::with(['customer'=>function($q){ return $q->select(['id','name','mobile']); }]); $logs = $this->queryForLog($log,$request,['customer_id']); for ($i = 0;$i<count($logs);$i++){ $logs[$i]['time'] = CarbonInterval::seconds($logs[$i]['total_time'])->cascade()->forHumans(); } return response()->json(array_reverse($logs)); } public function queryCustomer($id,Request $request){ $log = Log::with('product')->where('customer_id',$id); $logs = $this->queryForLog($log,$request,['title','product_id']); for ($i = 0;$i<count($logs);$i++){ $logs[$i]['time'] = CarbonInterval::seconds($logs[$i]['total_time'])->cascade()->forHumans(); } return response()->json(array_reverse($logs)); } public function queryForLog($log,$request,$group_by){ if ($request->has("start_at")){ $log->whereDate('created_at','>=',$request->start_at); } if ($request->has("end_at")){ $log->whereDate('created_at','<=',$request->end_at); } $select = $group_by; $select[] = DB::raw('sum(TIMESTAMPDIFF(second, start_at, end_at)) AS total_time'); $log->select($select)->groupBy($group_by); return $log->get()->toArray(); } public function listCu(){ $cu = Customer::select(['id','name'])->get(); return response()->json($cu); } public function ago($id){ $log = Log::with('product')->where('customer_id',$id)->orderBy('id', 'desc')->first(); if (!is_null($log)){ $log["ago"] = Carbon::parse($log->created_at)->diffForHumans(); } return response()->json($log); } }
Copyright ©2k19 -
Hexid
|
Tex7ure