kossmoss / laravel-tagging
使用 PHP 特性来扩展 Laravel Eloquent 模型以允许标签。可以将模型标记为可标记。
4.1.1.001
2022-02-21 15:18 UTC
Requires
- php: ^7.3|^8.0
- illuminate/database: >=8.0
- illuminate/support: >=8.0
Requires (Dev)
- mockery/mockery: 1.*
- orchestra/testbench: 6.*
- phpunit/phpunit: 9.*
- squizlabs/php_codesniffer: 3.*
- dev-laravel-8
- 4.1.1.001
- 4.1.1
- 4.1.0
- 4.0.2
- 4.0.1
- 4.0.0
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.1
- 3.1.0
- 3.0.0
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.0
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.7
- 0.5.4
- 0.5.2
- 0.5.1
- 0.4.0
- 0.3.3
- 0.3.2
- 0.2.2
- 0.1.0
- dev-admin-manage-enhancement
- dev-laravel-7
- dev-laravel-5
- dev-laravel-4
This package is not auto-updated.
Last update: 2024-09-18 01:44:03 UTC
README
此包旨在增强系统的版主/管理员对标签和标签组的管理。本版本在安全的后台管理区域提供了更多使用可能性。如果您的标签需要由非特权用户管理,请考虑使用 原始包。
此包不打算以任何方式处理 JavaScript 或 HTML。此包仅处理数据库存储和读写。
在标签中使用的字符没有实际限制。它使用缩写转换来确定两个标签是否相同(“sugar-free”和“Sugar Free”被视为相同的标签)。标签显示名称通过 Str::title() 处理
composer require rtconner/laravel-tagging
安装并运行迁移
在执行 composer update 时,包应该会自动发现。然后发布 tagging.php 并使用以下命令运行数据库迁移。
php artisan vendor:publish --provider="Conner\Tagging\Providers\TaggingServiceProvider"
php artisan migrate
设置您的模型
class Article extends \Illuminate\Database\Eloquent\Model { use \Conner\Tagging\Taggable; }
快速示例用法
$article = Article::with('tagged')->first(); // eager load foreach($article->tags as $tag) { echo $tag->name . ' with url slug of ' . $tag->slug; } $article->tag('Gardening'); // attach the tag $article->untag('Cooking'); // remove Cooking tag $article->untag(); // remove all tags $article->retag(array('Fruit', 'Fish')); // delete current tags and save new tags $article->tagNames(); // get array of related tag names Article::withAnyTag(['Gardening','Cooking'])->get(); // fetch articles with any tag listed Article::withAllTags(['Gardening', 'Cooking'])->get(); // only fetch articles with all the tags Article::withoutTags(['Gardening', 'Cooking'])->get(); // only fetch articles without all tags listed Conner\Tagging\Model\Tag::where('count', '>', 2)->get(); // return all tags used more than twice Article::existingTags(); // return collection of all existing tags on any articles
配置
有关配置选项,请参阅 config/tagging.php。
Lumen 安装
致谢
- Robert Conner - http://smartersoftware.net