$value) { if ($key == 'page_size') { $parameter['page_size'] = $value; } if ($key == 'page') { $parameter['page'] = $value; } } return $parameter; } /** * Validate and prepare sorting order of model based on query string parameter * @param Request $request * @return array */ public static function prepareSortingParameter(Request $request) { $response = []; if ($request->has('_sort_by') && $request->has('_sort_order')) { if ($request->get('_sort_by') != '') { $response['field'] = $request->get('_sort_by'); } if ($request->get('_sort_order') != '') { $response['sort_order'] = $request->get('_sort_order'); } } return $response; } /** * Prepare simple search parameters that will be used for eloquent * @param array $fields * @param string $value * @return array */ public static function prepareSimpleSearchParameter($fields = [], $value = '') { $response = []; foreach ($fields as $field) { $response[] = [$field, 'LIKE', '%'.$value.'%']; } return $response; } /** * Prepare parameter for multiple storing of resource with timestamp * @param array $request * @return array */ public static function prepareMultipleResource($request = []) { $parameters = []; foreach ($request as $param) { foreach ($param as $key => $value) { $resource[$key] = $value; } $resource['created_at'] = Carbon::now(); $resource['updated_at'] = Carbon::now(); $parameters[] = $resource; } return $parameters; } /** * Validate and prepare grouping of model based on query string parameter * @param Request $request * @return array */ public static function prepareGroupingParameter(Request $request) { $response = []; if ($request->has('group_by')) { if ($request->get('group_by') != '') { $response['group_by'] = $request->get('group_by'); } } return $response; } public static function validateStartEndDate($params) { if($params['date_start'] != null && $params['date_end'] != null) { if(strtotime($params['date_start']) > strtotime($params['date_end'])) return true; } return false; } }