Post = $Post; $this->helpers = $helpers; } public function index(){ // $data = $this->Post->all()->toArray(); $data = $this->Post::with(['translations:locale,model_id,attribute_data','categories','featured_images'])->paginate(6); return $this->helpers->apiArrayResponseBuilder(200, 'success', $data); } public function show($slug){ $data = $this->Post::where('slug', $slug)->with(['translations:locale,model_id,attribute_data','featured_images'])->get(); // $data = $this->Post::with(['translations:locale,model_id,attribute_data','categories'])->find($id); if ($data){ return $this->helpers->apiArrayResponseBuilder(200, 'success', [$data]); } else { $this->helpers->apiArrayResponseBuilder(404, 'not found', ['error' => 'Resource id=' . $id . ' could not be found']); } } public function store(Request $request){ $arr = $request->all(); while ( $data = current($arr)) { $this->Post->{key($arr)} = $data; next($arr); } $validation = Validator::make($request->all(), $this->Post->rules); if( $validation->passes() ){ $this->Post->save(); return $this->helpers->apiArrayResponseBuilder(201, 'created', ['id' => $this->Post->id]); }else{ return $this->helpers->apiArrayResponseBuilder(400, 'fail', $validation->errors() ); } } public function update($id, Request $request){ $status = $this->Post->where('id',$id)->update($data); if( $status ){ return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been updated successfully.'); }else{ return $this->helpers->apiArrayResponseBuilder(400, 'bad request', 'Error, data failed to update.'); } } public function delete($id){ $this->Post->where('id',$id)->delete(); return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.'); } public function destroy($id){ $this->Post->where('id',$id)->delete(); return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.'); } public static function getAfterFilters() {return [];} public static function getBeforeFilters() {return [];} public static function getMiddleware() {return [];} public function callAction($method, $parameters=false) { return call_user_func_array(array($this, $method), $parameters); } }