vendorRepo = $vendorRepo; $this->ninjaRepo = $ninjaRepo; $this->datatableService = $datatableService; } /** * @return VendorRepository */ protected function getRepo() { return $this->vendorRepo; } /** * @param array $data * @param Vendor|null $vendor * * @return mixed|null */ public function save(array $data, Vendor $vendor = null) { return $this->vendorRepo->save($data, $vendor); } /** * @param $search * * @return \Illuminate\Http\JsonResponse */ public function getDatatable($search) { $datatable = new VendorDatatable(); $query = $this->vendorRepo->find($search); if (! Utils::hasPermission('view_vendor')) { $query->where('vendors.user_id', '=', Auth::user()->id); } return $this->datatableService->createDatatable($datatable, $query); } }