fdt2k/laravel-taggable
3.0.2
2024-09-20 19:42 UTC
Requires
- fdt2k/laravel-package-service-provider: dev-dev-v2 ||^2.0
- kda/eloquent-defaultattributes: dev-dev-v1 || ^1.0
- kda/laravel-translatable: dev-dev-v3 || ^3.0
Requires (Dev)
- laravel/framework: ^9.19
- laravel/pint: ^1.1
- orchestra/canvas: ^7.2
- orchestra/testbench: ^7.6
README
这是一个基于spatie/tags的包。
新功能包括:
- 无json的翻译(另一个表格)
- 动态绑定
- 可嵌套标签
安装
用法
特性
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use KDA\Taggable\Models\Traits\HasTag;
class MyModel extends Model
{
use HasTag;
}
动态绑定
您可以注册任何模型作为可标记模型,无需继承或任何特性。这可能会带来一些限制,尤其是与其他插件一起使用时。
为此,在app/Providers中创建一个新的Provider文件,或使用
php artisan make:provider TagsServiceProvider
在boot方法中,用任何模型类作为参数调用registerTaggableModel
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use KDA\Laravel\Attachments\Models\Attachment;
use KDA\Taggable\Facades\Tags;
class TagsServiceProvider extends ServiceProvider
{
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
//
Tags::registerTaggableModel(Attachment::class);
}
}
这将添加标签关系和创建/删除模型事件。当与这些绑定的模型交互时,您必须使用外观
标记模型
以下所有示例都是来自外观。但如果您使用模型特性,也可以直接调用模型中的任何方法而无需第一个参数。