diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 0287bf0c82a48453fbe50237a0583ed7215ad2d4..a0ede86fd6046cb54152a20dd5cf69a710cd3412 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -28,12 +28,21 @@ class Controller extends BaseController ]; } - protected function commonIndex(Request $request, $class, $filters = []) + protected function commonIndex(Request $request, $class, $filters = [], $with = null) { if (is_array($request->ids)) { - return ["data" => $class::whereIn('id', $request->ids)->get()]; + if ($with == null) { + return ["data" => $class::whereIn('id', $request->ids)->get()]; + } else { + return ["data" => $class::with($with)->whereIn('id', $request->ids)->get()]; + } } else { - $data = $class::orderBy($request->order_by ?? 'id', $request->order_sort ?? 'asc'); + if ($with == null) { + $data = $class::orderBy($request->order_by ?? 'id', $request->order_sort ?? 'asc'); + } else { + $data = $class::with($with)->orderBy($request->order_by ?? 'id', $request->order_sort ?? 'asc'); + } + if (is_array($request->filter)) { foreach ($request->filter as $k => $v) { if (array_key_exists($k, $filters)) { diff --git a/app/Http/Controllers/MovementsController.php b/app/Http/Controllers/MovementsController.php index 5867739864016d28d3b09e063391fa8975ee5253..3dbde3602632dc63c6bee55f21a87d426a8f70df 100644 --- a/app/Http/Controllers/MovementsController.php +++ b/app/Http/Controllers/MovementsController.php @@ -19,7 +19,7 @@ class MovementsController extends Controller 'name' => "like:name", 'rectification' => "equals:rectification", 'user_id' => "equals:user_id" - ]); + ], 'products'); } /** @@ -30,7 +30,7 @@ class MovementsController extends Controller */ public function show($id) { - return ['data' => Movement::with(['products', 'products.product'])->findOrFail($id)]; + return ['data' => Movement::with(['products'])->findOrFail($id)]; } public function store(Request $request)