| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- namespace App\Http\Controllers;
- use App\Filters\OrderPackageFilters;
- use App\Logistic;
- use App\OrderPackage;
- use App\Owner;
- use App\Services\UserService;
- use Illuminate\Http\Request;
- class PackageLogisticController extends Controller
- {
- //
- /**
- * PackageLogisticsController constructor.
- */
- public function __construct()
- {
- $this->middleware('auth');
- }
- public function index(Request $request,OrderPackageFilters $filters)
- {
- /** @var UserService $userService */
- $userService = app('UserService');
- $owner_ids = $userService->getPermittingOwnerIds(auth()->user());
- $paginateParams = $request->input();
- $orderPackages = OrderPackage::query()->filter($filters)
- ->whereIn('order_id',function ($query)use ($owner_ids){
- $query->from('orders')->select('id')->whereIn('owner_id',$owner_ids);
- })->with(['order' => function ($query) {
- $query->with(['logistic', 'owner', 'packages.commodities']);
- }])->orderByDesc('id')->paginate($request->paginate ?? 50);
- $logistics = Logistic::all();
- $owners = Owner::find($owner_ids);
- return view('package.logistic.index', compact('orderPackages', 'logistics', 'owners','paginateParams'));
- }
- }
|