Phone: 158 4018 8888 Email: 407593529@qq.com

模型类

2026-02-25 17:26:14 2

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.'%');
        }

    }

}

选择样式

选择布局
选择颜色
选择背景
选择背景