get('search'); $limit = (int) $request->get('limit', setting('default.list_limit', '25')); return $query->usingSearchString($search)->sortable($sort)->paginate($limit); } /** * Scope to only include by action. * * @param \Illuminate\Database\Eloquent\Builder $query * @param string $action * * @return \Illuminate\Database\Eloquent\Builder */ public function scopeAction($query, $action = 'read') { return $query->where('name', 'like', $action . '-%'); } /** * Transform display name. * * @return string */ public function getTitleAttribute() { $replaces = [ 'Create ' => '', 'Read ' => '', 'Update ' => '', 'Delete ' => '', 'Modules' => 'Apps', ]; $title = str_replace(array_keys($replaces), array_values($replaces), $this->display_name); return $title; } /** * Create a new factory instance for the model. * * @return \Illuminate\Database\Eloquent\Factories\Factory */ protected static function newFactory() { return \Database\Factories\Permission::new(); } }