🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Model层 模型专门处理数据库字段、表名、主键、软删除等。主要存放:模型初始化操作、模型事件操作、模型修改器、获取器、搜索器、模型关联等。 ### 我们在开发中常用的有 模型事件操作、模型修改器、获取器、搜索器、模型关联,尤其是模型关联和搜索器的使用比较广泛 ### 使用搜索器 封装某个字段的查询条件,可以完成一些较为复杂的查询,一个搜索器对应一个特殊的方法,方法命令规范为: #### `search[fieldName]Attr` `fieldName`为数据库字段的驼峰转换,搜索器在调用`withSearch`方法时触发执行 例如需要给SysUser模型定义name字段搜索器可以使用 ~~~ namespace app\model\sys; use app\dict\sys\UserDict; use core\base\BaseModel; use think\model\concern\SoftDelete; /** * 系统用户模型 * Class SysUser * @package app\model\sys */ class SysUser extends BaseModel { /** * 账号搜索器 * @param $value */ public function searchUsernameAttr($query, $value) { if ($value) { $query->whereLike('username', '%'.$value.'%'); } } /** * 用户实际姓名搜索器 * @param $value */ public function searchRealnameAttr($query, $value) { if ($value) { $query->whereLike('real_name', '%'.$value.'%'); } } } ~~~