You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace App\Admin\Controllers;
use App\Admin\Repositories\StoreUserReport;use App\Models\ImsCjdcOrderMain;use App\Models\storeUserReport as ModelsStoreUserReport;use Dcat\Admin\Form;use Dcat\Admin\Grid;use Dcat\Admin\Show;use Dcat\Admin\Controllers\AdminController;use App\Models\ImsCjdcOrder;use Illuminate\Support\Facades\DB;
class StoreUserReportController extends AdminController{ /** * Make a grid builder. * * @return Grid */ protected function grid() { $startTime = '2020-06-01';$endTime = '2020-07-01'; $orderModel = new ImsCjdcOrder(); $newModel = $orderModel->with([ 'store:id,market_id,name,mm_user_id', 'user'=> function($query) use($startTime,$endTime){ $query->selectRaw(DB::raw('count(distinct user_id) as new_user_total'))->whereRaw("join_time BETWEEN UNIX_TIMESTAMP('?') AND UNIX_TIMESTAMP('?')",[$startTime,$endTime]); }]) ->whereRaw("UNIX_TIMESTAMP(pay_time) BETWEEN UNIX_TIMESTAMP('?') AND UNIX_TIMESTAMP('?')",[$startTime,$endTime]) ->select('store_id') ->groupBy('store_id') ->orderBy('market_id','desc') ->orderbY('new_user_total','desc'); // return Grid::make(new StoreUserReport(), function (Grid $grid) {
return Grid::make($newModel, function (Grid $grid) { $grid->disableCreateButton();
$grid->store_id; $grid->market_id; $grid->store_name; $grid->mm_user_id; $grid->new_user_total; $grid->filter(function (Grid\Filter $filter) { $filter->equal('store_id'); }); }); }
/** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new StoreUserReport(), function (Show $show) { $show->id; $show->market_id; $show->name; $show->mm_user_id; }); }
/** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new StoreUserReport(), function (Form $form) { $form->display('id'); $form->text('market_id'); $form->text('name'); $form->text('mm_user_id'); }); }}
|