初始化-安装依赖

This commit is contained in:
2026-03-03 10:06:12 +08:00
parent 3f349a35a4
commit ec8cac4221
187 changed files with 26292 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 附件模型
*
* sa_system_attachment 附件信息表
*
* @property $id 主键
* @property $category_id 文件分类
* @property $storage_mode 存储模式
* @property $origin_name 原文件名
* @property $object_name 新文件名
* @property $hash 文件hash
* @property $mime_type 资源类型
* @property $storage_path 存储目录
* @property $suffix 文件后缀
* @property $size_byte 字节数
* @property $size_info 文件大小
* @property $url url地址
* @property $remark 备注
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemAttachment extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_attachment';
/**
* 原文件名搜索
*/
public function searchOriginNameAttr($query, $value)
{
$query->where('origin_name', 'like', '%' . $value . '%');
}
/**
* 文件类型搜索
*/
public function searchMimeTypeAttr($query, $value)
{
$query->where('mime_type', 'like', $value . '/%');
}
}

View File

@@ -0,0 +1,46 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 附件分类模型
*
* sa_system_category 附件分类表
*
* @property $id 分类ID
* @property $parent_id 父id
* @property $level 组集关系
* @property $category_name 分类名称
* @property $sort 排序
* @property $status 状态
* @property $remark 备注
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemCategory extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_category';
/**
* 分类名称搜索
*/
public function searchCategoryNameAttr($query, $value)
{
$query->where('category_name', 'like', '%' . $value . '%');
}
}

View File

@@ -0,0 +1,45 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 参数配置模型
*
* sa_system_config 参数配置信息表
*
* @property $id 编号
* @property $group_id 组id
* @property $key 配置键名
* @property $value 配置值
* @property $name 配置名称
* @property $input_type 数据输入类型
* @property $config_select_data 配置选项数据
* @property $sort 排序
* @property $remark 备注
* @property $created_by 创建人
* @property $updated_by 更新人
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemConfig extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_config';
public function getConfigSelectDataAttr($value)
{
return json_decode($value ?? '', true);
}
}

View File

@@ -0,0 +1,59 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 参数配置分组模型
*
* sa_system_config_group 参数配置分组表
*
* @property $id 主键
* @property $name 字典名称
* @property $code 字典标示
* @property $remark 备注
* @property $created_by 创建人
* @property $updated_by 更新人
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemConfigGroup extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_config_group';
/**
* 关联配置列表
*/
public function configs()
{
return $this->hasMany(SystemConfig::class, 'group_id', 'id');
}
/**
* 名称搜索
*/
public function searchNameAttr($query, $value)
{
return $query->where('name', 'like', '%' . $value . '%');
}
/**
* 编码搜索
*/
public function searchCodeAttr($query, $value)
{
return $query->where('code', 'like', '%' . $value . '%');
}
}

View File

@@ -0,0 +1,62 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 部门模型
*
* sa_system_dept 部门表
*
* @property $id 编号
* @property $parent_id 父级ID0为根节点
* @property $name 部门名称
* @property $code 部门编码
* @property $leader_id 部门负责人ID
* @property $level 祖级列表,格式: 0,1,5,
* @property $sort 排序,数字越小越靠前
* @property $status 状态: 1启用, 0禁用
* @property $remark 备注
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemDept extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_dept';
/**
* 权限范围
*/
public function scopeAuth($query, $value)
{
if (!empty($value)) {
$deptIds = [$value['id']];
$deptLevel = $value['level'] . $value['id'] . ',';
$ids = static::whereLike('level', $deptLevel . '%')->column('id');
$deptIds = array_merge($deptIds, $ids);
$query->whereIn('id', $deptIds);
}
}
/**
* 部门领导
*/
public function leader()
{
return $this->hasOne(SystemUser::class, 'id', 'leader_id');
}
}

View File

@@ -0,0 +1,47 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 字典数据模型
*
* sa_system_dict_data 字典数据表
*
* @property $id 主键
* @property $type_id 字典类型ID
* @property $label 字典标签
* @property $value 字典值
* @property $color 字典颜色
* @property $code 字典标示
* @property $sort 排序
* @property $status 状态
* @property $remark 备注
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemDictData extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_dict_data';
/**
* 关键字搜索
*/
public function searchKeywordsAttr($query, $value)
{
$query->where('label|code', 'LIKE', "%$value%");
}
}

View File

@@ -0,0 +1,44 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 字典类型模型
*
* sa_system_dict_type 字典类型表
*
* @property $id 主键
* @property $name 字典名称
* @property $code 字典标示
* @property $status 状态
* @property $remark 备注
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemDictType extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_dict_type';
/**
* 关联字典数据
*/
public function dicts()
{
return $this->hasMany(SystemDictData::class, 'type_id', 'id');
}
}

View File

@@ -0,0 +1,50 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 登录日志模型
*
* sa_system_login_log 登录日志表
*
* @property $id 主键
* @property $username 用户名
* @property $ip 登录IP地址
* @property $ip_location IP所属地
* @property $os 操作系统
* @property $browser 浏览器
* @property $status 登录状态
* @property $message 提示消息
* @property $login_time 登录时间
* @property $remark 备注
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 更新时间
*/
class SystemLoginLog extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_login_log';
/**
* 时间范围搜索
*/
public function searchLoginTimeAttr($query, $value)
{
$query->whereTime('login_time', 'between', $value);
}
}

View File

@@ -0,0 +1,52 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 邮件记录模型
*
* sa_system_mail 邮件记录
*
* @property $id 编号
* @property $gateway 网关
* @property $from 发送人
* @property $email 接收人
* @property $code 验证码
* @property $content 邮箱内容
* @property $status 发送状态
* @property $response 返回结果
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemMail extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_mail';
/**
* 发送人搜索
*/
public function searchFromAttr($query, $value)
{
$query->where('from', 'like', '%' . $value . '%');
}
/**
* 接收人搜索
*/
public function searchEmailAttr($query, $value)
{
$query->where('email', 'like', '%' . $value . '%');
}
}

View File

@@ -0,0 +1,86 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 菜单模型
*
* sa_system_menu 菜单权限表
*
* @property $id
* @property $parent_id 父级ID
* @property $name 菜单名称
* @property $code 组件名称
* @property $slug 权限标识,如 user:list, user:add
* @property $type 类型: 1目录, 2菜单, 3按钮/API
* @property $path 路由地址或API路径
* @property $component 前端组件路径,如 layout/User
* @property $method 请求方式
* @property $icon 图标
* @property $sort 排序
* @property $link_url 外部链接
* @property $is_iframe 是否iframe
* @property $is_keep_alive 是否缓存
* @property $is_hidden 是否隐藏
* @property $is_fixed_tab 是否固定标签页
* @property $is_full_page 是否全屏
* @property $generate_id 生成id
* @property $generate_key 生成key
* @property $status 状态
* @property $remark
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemMenu extends BaseModel
{
// 完整数据库表名称
protected $table = 'sa_system_menu';
// 主键
protected $pk = 'id';
/**
* Id搜索
*/
public function searchIdAttr($query, $value)
{
$query->whereIn('id', $value);
}
public function searchNameAttr($query, $value)
{
$query->where('name', 'like', '%' . $value . '%');
}
public function searchPathAttr($query, $value)
{
$query->where('path', 'like', '%' . $value . '%');
}
public function searchMenuAttr($query, $value)
{
if (!empty($value)) {
$query->whereIn('type', [1, 2]);
}
}
/**
* Type搜索
*/
public function searchTypeAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn('type', $value);
} else {
$query->where('type', $value);
}
}
}

View File

@@ -0,0 +1,42 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 操作日志模型
*
* sa_system_oper_log 操作日志表
*
* @property $id 主键
* @property $username 用户名
* @property $app 应用名称
* @property $method 请求方式
* @property $router 请求路由
* @property $service_name 业务名称
* @property $ip 请求IP地址
* @property $ip_location IP所属地
* @property $request_data 请求数据
* @property $remark 备注
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 更新时间
*/
class SystemOperLog extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_oper_log';
}

View File

@@ -0,0 +1,37 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 岗位模型
*
* sa_system_post 岗位信息表
*
* @property $id 主键
* @property $name 岗位名称
* @property $code 岗位代码
* @property $sort 排序
* @property $status 状态
* @property $remark 备注
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemPost extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_system_post';
}

View File

@@ -0,0 +1,78 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 角色模型
*
* sa_system_role 角色表
*
* @property $id
* @property $name 角色名称
* @property $code 角色标识,如: hr_manager
* @property $level 角色级别:用于行政控制,不可操作级别大于自己的角色
* @property $data_scope 数据范围: 1全部, 2本部门及下属, 3本部门, 4仅本人, 5自定义
* @property $remark 备注
* @property $sort
* @property $status 状态: 1启用, 0禁用
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemRole extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 数据表完整名称
* @var string
*/
protected $table = 'sa_system_role';
/**
* 权限范围
*/
public function scopeAuth($query, $value)
{
$id = $value['id'];
$roles = $value['roles'];
if ($id > 1) {
$ids = [];
foreach ($roles as $item) {
$ids[] = $item['id'];
$temp = static::whereRaw('FIND_IN_SET("' . $item['id'] . '", level) > 0')->column('id');
$ids = array_merge($ids, $temp);
}
$query->where('id', 'in', array_unique($ids));
}
}
/**
* 通过中间表获取菜单
*/
public function menus()
{
return $this->belongsToMany(SystemMenu::class, SystemRoleMenu::class, 'menu_id', 'role_id');
}
/**
* 通过中间表获取部门
*/
public function depts()
{
return $this->belongsToMany(SystemDept::class, SystemRoleDept::class, 'dept_id', 'role_id');
}
}

View File

@@ -0,0 +1,25 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use think\model\Pivot;
/**
* 角色部门关联模型
*
* sa_system_role_dept 角色-自定义数据权限关联
*
* @property $id
* @property $role_id
* @property $dept_id
*/
class SystemRoleDept extends Pivot
{
protected $pk = 'id';
protected $table = 'sa_system_role_dept';
}

View File

@@ -0,0 +1,25 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use think\model\Pivot;
/**
* 角色菜单关联模型
*
* sa_system_role_menu 角色权限关联
*
* @property $id
* @property $role_id
* @property $menu_id
*/
class SystemRoleMenu extends Pivot
{
protected $pk = 'id';
protected $table = 'sa_system_role_menu';
}

View File

@@ -0,0 +1,96 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 用户信息模型
*
* sa_system_user 用户表
*
* @property $id
* @property $username 登录账号
* @property $password 加密密码
* @property $realname 真实姓名
* @property $gender 性别
* @property $avatar 头像
* @property $email 邮箱
* @property $phone 手机号
* @property $signed 个性签名
* @property $dashboard 工作台
* @property $dept_id 主归属部门
* @property $is_super 是否超级管理员: 1是
* @property $status 状态: 1启用, 2禁用
* @property $remark 备注
* @property $login_time 最后登录时间
* @property $login_ip 最后登录IP
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class SystemUser extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 数据表完整名称
* @var string
*/
protected $table = 'sa_system_user';
public function searchKeywordAttr($query, $value)
{
if ($value) {
$query->where('username|realname|phone', 'like', '%' . $value . '%');
}
}
/**
* 权限范围 - 过滤部门用户
*/
public function scopeAuth($query, $value)
{
if (!empty($value)) {
$deptIds = [$value['id']];
$deptLevel = $value['level'] . $value['id'] . ',';
$dept_ids = SystemDept::whereLike('level', $deptLevel . '%')->column('id');
$deptIds = array_merge($deptIds, $dept_ids);
$query->whereIn('dept_id', $deptIds);
}
}
/**
* 通过中间表关联角色
*/
public function roles()
{
return $this->belongsToMany(SystemRole::class, SystemUserRole::class, 'role_id', 'user_id');
}
/**
* 通过中间表关联岗位
*/
public function posts()
{
return $this->belongsToMany(SystemPost::class, SystemUserPost::class, 'post_id', 'user_id');
}
/**
* 通过中间表关联部门
*/
public function depts()
{
return $this->belongsTo(SystemDept::class, 'dept_id', 'id');
}
}

View File

@@ -0,0 +1,25 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use think\model\Pivot;
/**
* 用户岗位关联模型
*
* sa_system_user_post 用户与岗位关联表
*
* @property $id 主键
* @property $user_id 用户主键
* @property $post_id 岗位主键
*/
class SystemUserPost extends Pivot
{
protected $pk = 'id';
protected $table = 'sa_system_user_post';
}

View File

@@ -0,0 +1,35 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\system;
use think\model\Pivot;
/**
* 用户角色关联模型
*
* sa_system_user_role 用户角色关联
*
* @property $id
* @property $user_id
* @property $role_id
*/
class SystemUserRole extends Pivot
{
protected $pk = 'id';
protected $table = 'sa_system_user_role';
/**
* 获取角色id
* @param mixed $user_id
* @return array
*/
public static function getRoleIds($user_id): array
{
return static::where('user_id', $user_id)->column('role_id');
}
}

View File

@@ -0,0 +1,40 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\tool;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 定时任务模型
*
* sa_tool_crontab 定时任务信息表
*
* @property $id 主键
* @property $name 任务名称
* @property $type 任务类型
* @property $target 调用任务字符串
* @property $parameter 调用任务参数
* @property $task_style 执行类型
* @property $rule 任务执行表达式
* @property $status 状态
* @property $remark 备注
* @property $created_by 创建者
* @property $updated_by 更新者
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class Crontab extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_tool_crontab';
}

View File

@@ -0,0 +1,36 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\tool;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 定时任务日志模型
*
* sa_tool_crontab_log 定时任务执行日志表
*
* @property $id 主键
* @property $crontab_id 任务ID
* @property $name 任务名称
* @property $target 任务调用目标字符串
* @property $parameter 任务调用参数
* @property $exception_info 异常信息
* @property $status 执行状态
* @property $create_time 创建时间
* @property $update_time 修改时间
*/
class CrontabLog extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_tool_crontab_log';
}

View File

@@ -0,0 +1,29 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\tool;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 代码生成业务字段模型
*/
class GenerateColumns extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_tool_generate_columns';
public function getOptionsAttr($value)
{
return json_decode($value ?? '', true);
}
}

View File

@@ -0,0 +1,29 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
namespace plugin\saiadmin\app\model\tool;
use plugin\saiadmin\basic\think\BaseModel;
/**
* 代码生成业务模型
*/
class GenerateTables extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
protected $table = 'sa_tool_generate_tables';
public function getOptionsAttr($value)
{
return json_decode($value ?? '', true);
}
}