uptoolkit / laravel-categories
将 Eloquent 模型与类别关联
1.0.0
2024-01-23 16:52 UTC
Requires
- php: >=7.1.0
- kalnoy/nestedset: >=4.3
- spatie/laravel-sluggable: >=2.1
Requires (Dev)
- graham-campbell/testbench: >=5.0
- mockery/mockery: >=1.0
- phpunit/phpunit: >=6.5
This package is auto-updated.
Last update: 2024-09-23 18:15:40 UTC
README
安装
使用 Composer 在项目的根目录中安装此包。
$ composer require uptoolkit/laravel-categories
要开始使用,您需要发布供应商资产和迁移
php artisan vendor:publish --provider="Uptoolkit\Categories\CategoriesServiceProvider" && php artisan migrate
用法
嵌套集
查看 lazychaser/laravel-nestedset 了解如何创建、更新、删除等类别。
设置模型
<?php namespace App; use Uptoolkit\Categories\Traits\HasCategories; use Illuminate\Database\Eloquent\Model; class Post extends Model { use HasCategories; }
示例
获取包含类别 ids 和名称的数组(适用于下拉菜单)
$post->categoriesList();
将这些类别附加到 Post 模型
$post->syncCategories([Category::find(1), Category::find(2), Category::find(3)]);
从这些类别中移除 Post 模型
$post->syncCategories([]);
从所有类别中移除 Post 模型并附加到新的类别
$post->syncCategories([Category::find(1), Category::find(3)]);
将 Post 模型附加到给定的类别
$post->assignCategory(Category::find(1));
从给定的类别中移除 Post 模型
$post->removeCategory(Category::find(1));
获取附加到给定类别的所有帖子
Category::first()->entries(Post::class)->get();
测试
$ phpunit
安全
如果您在此包中发现安全漏洞,请发送电子邮件至 hello@brianfaust.me。所有安全漏洞都将得到及时处理。