| 12345678910111213141516171819202122232425262728 |
- <?php
- namespace App\Services;
- use App\Package;
- use App\Services\common\QueryService;
- use Illuminate\Support\Facades\DB;
- Class PackageStatisticsService
- {
- private function conditionQuery(array $params){
- $query = Package::query()->with(['owner','logistic'])->select(DB::raw('owner_id,logistic_id,COUNT(logistic_id) AS count'))->whereNotNull('owner_id');
- $columnQueryRules=[
- 'date_start' => ['alias' => 'created_at','startDate' => " 00:00:00"],
- 'date_end' => ['alias' => 'created_at','endDate' => " 23:59:59"],
- 'logistic_id' => ['multi' => ','],
- 'owner_id' => ['multi' => ','],
- ];
- $query = $query->groupBy(['owner_id','logistic_id']);
- return app(QueryService::class)->query($params,$query,$columnQueryRules);
- }
- public function get(array $params){
- return $this->conditionQuery($params)->get();
- }
- }
|