ohhink / relation
用户层级关系
1.0.2
2021-10-25 01:07 UTC
README
快速创建层级架构,可用于上下级明确,多层级的任意应用
本拓展包运行基础环境:
- Php >= 8.0
- Laravel 版本 >= 8.6
内容列表
背景
在实际开发中,经常会遇到多层级的组织架构。例如:
A 项目 -> B 项目 -> C 项目 -> D 项目 ... -> Z 项目 表示:Z项目属于A项目的N级子项目
当Z向上找A,或者A向下找Z的时候,如果处理不当,任务的时间复杂度就会变成O(N)。
此拓展包可以将上述情况的时间复杂度降低到O(1),并提供相应接口,实现隐式调用。
安装
在项目根目录运行 composer
$ composer require ohhink/relation
在根目录下运行资源发布命令,此命令会增加配置文件(relationship.php)
$ php artisan vendor:publish
在根目录下运行数据库迁移填充命令
# run autoload first
$ composer dump-autoload
$ php artisan migrate
向 User 模型添加 HasRelationship Trait
<?php namespace App\Models; use Ohh\Relation\App\Models\Traits\HasRelationship; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable, HasRelationship; }
至此,安装完毕
使用说明
维护者
如何贡献
非常欢迎你的加入!有任何问题或者想要贡献代码,请提交 issue
使用许可
MIT © OhhInk