unisharp / categorizable
categorize model
Installs: 13 766
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 14
Forks: 2
Open Issues: 0
Requires
- php: ^7.0
- illuminate/config: >=5.5.0
- illuminate/database: >=5.5.0
- illuminate/support: >=5.5.0
- kalnoy/nestedset: ^5.0
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.4.4 || ^0.26.0
- friendsofphp/php-cs-fixer: ^1.11 || ^2.0.0
- mockery/mockery: ^0.9.4 || ^1.0.0
- orchestra/database: ~3.5.0 || ~4.0.0
- orchestra/testbench: ~3.5.0 || ~4.0.0
- phpunit/phpunit: ^6.2 || ^7.0|^8.0
- scrutinizer/ocular: ^1.3
- squizlabs/php_codesniffer: 3.*
README
It's a package to let you cagorize anything
Install
Via Composer
$ composer require unisharp/categorizable
Usage
use UniSharp\Category\Categorizable; class Post extends Model { use Categorizable; }
categorize
You can categorize by id, name or mixed array and id won't add duplicate category
$post->categorize(1); // by category id, it will do nothing if it can't find this category $post->categorize("News"); // by category name and it will create new one if it can't find category $post->categorize([1, "news"]); // You can use array $post->categorize(1, "news"); // it's same as using array
uncategorize
It will remove category just like categorize
$post->uncategorize(1); $post->uncategorize("News"); $post->uncategorize([1, "news"]); $post->uncategorize(1, "news");
decategorize
remove all category
$post->decategorize();
recategorize
it will add category after clean all binding categories
same as $post->decategorize()->categorize(....)
$post->recategorize(1); $post->recategorize("News"); $post->recategorize([1, "news"]); $post->recategorize(1, "news");
hasCategories
You can find model which has specify categories it also search all children category
Post::hasCategories('News', 1)->get();
hasStrictCategories
It's same as hasCategories but just find category which you specify
Post::hasStrictCategories('News', 1)->get();
You can find model which has specify categories it also search all children category
Post::hasCategories('News', 1)->get();
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email xing1615@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.