{"id":15687591,"url":"https://github.com/dcblogdev/laravel-filters","last_synced_at":"2025-05-07T17:07:35.672Z","repository":{"id":56963162,"uuid":"172911797","full_name":"dcblogdev/laravel-filters","owner":"dcblogdev","description":"Save and reuse query based filters","archived":false,"fork":false,"pushed_at":"2025-03-13T00:05:46.000Z","size":187,"stargazers_count":9,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-15T00:22:52.742Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dcblogdev.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":null,"funding":".github/FUNDING.yml","license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["dcblogdev"]}},"created_at":"2019-02-27T12:30:41.000Z","updated_at":"2025-02-24T23:51:07.000Z","dependencies_parsed_at":"2024-10-23T20:41:22.298Z","dependency_job_id":null,"html_url":"https://github.com/dcblogdev/laravel-filters","commit_stats":{"total_commits":16,"total_committers":3,"mean_commits":5.333333333333333,"dds":0.625,"last_synced_commit":"46f97ec4fd28dd38fd6dae3ffc1830ffa3d00804"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcblogdev%2Flaravel-filters","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcblogdev%2Flaravel-filters/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcblogdev%2Flaravel-filters/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcblogdev%2Flaravel-filters/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcblogdev","download_url":"https://codeload.github.com/dcblogdev/laravel-filters/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249833635,"owners_count":21331844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest"],"created_at":"2024-10-03T17:50:15.309Z","updated_at":"2025-04-20T00:31:27.409Z","avatar_url":"https://github.com/dcblogdev.png","language":"PHP","funding_links":["https://github.com/sponsors/dcblogdev"],"categories":[],"sub_categories":[],"readme":"\n# Filters\n\nA Laravel package for saving and reusing query based filtering.\n\n## Installation\n\nVia Composer\n\n``` bash\n$ composer require dcblogdev/laravel-filters\n```\n\nIn Laravel 5.5 the service provider will automatically get registered. In older versions of the framework just add the service provider in config/app.php file:\n\n```\n'providers' =\u003e [\n    // ...\n    Dcblogdev\\Filters\\FiltersServiceProvider::class,\n];\n```\n\nYou can publish the migration with:\n\n```bash\nphp artisan vendor:publish --provider=\"Dcblogdev\\Filters\\FiltersServiceProvider\" --tag=\"migrations\"\n```\n\nAfter the migration has been published migrate it:\n\n```bash\nphp artisan migrate\n```\n\nYou can publish the config file with:\n\n```bash\nphp artisan vendor:publish --provider=\"Dcblogdev\\Filters\\FiltersServiceProvider\" --tag=\"config\"\n```\n\nWhen published, the config/filters.php config file contains:\n\n```php\n\u003c?php\n\nreturn [\n\n    \n];\n```\n\n## Model\n\nAccess filter model, to access the model reference this ORM model\n\n```\nuse Dcblogdev\\Filters\\Models\\Filter;\n```\n\n\n## Usage\n\n\u003eNote this package expects a user to be logged in.\n\nA routes example:\n\n```php\nRoute::group(['middleware' =\u003e ['web', 'auth']], function(){\n    Route::get('demo', function(){\n        $filters = Filters::get();\n\n        return view('demo');\n    });\n});\n```\n\nthe `get` accepts 2 optional params:\n1) The name of the module/section ie users\n2) The relative url to redirect to ie /admin/users\n\nIn demo.blade.php view:\n\nSave a filter:\n```php\n\u003cform method=\"get\"\u003e\n    \u003cdiv class=\"control-group\"\u003e\n        \u003clabel for='savedfilter'\u003eUse a saved filter:\u003c/label\u003e\n        \u003cselect name='savedfilter' id=\"savedfilter\" class='form-control' onchange=\"this.form.submit()\"\u003e\n        \u003coption value=''\u003eSelect\u003c/option\u003e\n        @if ($filters)\n            @foreach($filters as $filter)\n                \u003coption value='{{ $filter-\u003eid }}'\u003e{{ $filter-\u003etitle }}\u003c/option\u003e\n            @endforeach\n        @endif\n        \u003c/select\u003e\n    \u003c/div\u003e\n\u003c/form\u003e\n```\n\nRemove a filter\n```php\n\u003cform method=\"get\"\u003e\n    \u003cdiv class=\"control-group\"\u003e\n        \u003clabel for='removefilter'\u003eRemove a saved filter:\u003c/label\u003e\n        \u003cselect name='removefilter' id=\"removefilter\" class='form-control' onchange=\"this.form.submit()\"\u003e\n        \u003coption value=''\u003eSelect\u003c/option\u003e\n        @if ($filters)\n            @foreach($filters as $filter)\n                \u003coption value='{{ $filter-\u003eid }}'\u003e{{ $filter-\u003etitle }}\u003c/option\u003e\n            @endforeach\n        @endif\n        \u003c/select\u003e\n    \u003c/div\u003e\n\u003c/form\u003e\n```\n\nStore a new filter\n```php\n\u003cform method=\"get\"\u003e\n    \u003cdiv class=\"control-group\"\u003e\n        \u003clabel for='filterTitle'\u003eSave filter:\u003c/label\u003e\n        \u003cinput class='form-control' id='filterTitle' type=\"text\" name=\"filterTitle\" value=\"\" /\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"control-group\"\u003e\n        \u003cbr\u003e\u003cbutton type=\"submit\" id='savefilter' class=\"btn btn-success\" name=\"savefilter\"\u003e\u003ci class=\"fa fa-check\"\u003e\u003c/i\u003e Save Filter\u003c/button\u003e\n    \u003c/div\u003e\n\u003c/form\u003e\n```\n\nFor the filter actions to run call `run($module, $url)` \n```php\nFilters::run('users', 'admin/users');\n```\n\nInternally there are 3 methods that will be called based on the query string parameters:\n\nWhen `savefilter` exists in the url then `storeFilter()` will run to store the filter.\nAlso storeFilter requires a `filterTitle` parameter to give a name to the filter.\n\n\nWhen `savedfilter` exists in the url then `applyFilter()` will return the filter stored.\nWhen `removefilter` exists in the url then `deleteFilter()` will run to delete the filter.\n\n## Change log\n\nPlease see the [changelog](changelog.md) for more information on what has changed recently.\n\n\n## Contributing\n\nContributions are welcome and will be fully credited.\n\nContributions are accepted via Pull Requests on [Github](https://github.com/dcblogdev/laravel-filters).\n\n## Pull Requests\n\n- **Document any change in behaviour** - Make sure the `readme.md` and any other relevant documentation are kept up-to-date.\n\n- **Consider our release cycle** - We try to follow [SemVer v2.0.0](http://semver.org/). Randomly breaking public APIs is not an option.\n\n- **One pull request per feature** - If you want to do more than one thing, send multiple pull requests.\n\n## Security\n\nIf you discover any security related issues, please email dave@daveismyname.com email instead of using the issue tracker.\n\n## License\n\nlicense. Please see the [license file](license.md) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcblogdev%2Flaravel-filters","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdcblogdev%2Flaravel-filters","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcblogdev%2Flaravel-filters/lists"}