美文网首页
tp5模型三大利器使用笔记!

tp5模型三大利器使用笔记!

作者: DragonersLi | 来源:发表于2020-04-04 15:11 被阅读0次

模型定义

   /*
     * 搜索器
     * @desc searchFieldNameAttr
     * @access public
     * @param $query 查询对象
     * @param $value 搜索标识值
     * @param $data 所有搜索数据(可选)
     *
     */
    public function searchNameAttr($query,$value,$data){
        $query->where(['name'=>$value]);
    }
    public function searchCreateTimeAttr($query, $value, $data)
    {
        $query->whereBetweenTime('create_time', $value[0], $value[1]);
    }
    /*
     * 修改器
     * FieldName对应数据表字段field_name
     * @desc setFieldNameAttr
     * @access public
     * @param $value 设置标识值
     * @param $data 所有修改数据
     */
    protected function setNameAttr($value,$data){
        return md5($value);
    }

    /*
     * 获取器
     * FieldName对应数据表字段field_name
     * @desc getFieldNameAttr
     * @access public
     * @param $value 设置标识值
     * @param $data 所有修改数据
     */
    protected function getIdAttr($value,$data){
        $type = [0 => '普通', 1 => 'VIP', 2 => '黄金', 3 => '白金', 4 => '钻石'];
        return $type[$value];
    }
 
 

控制器调用:

#搜索器:
$query = ['name', 'create_time'];
$value = ['name'=>  'think','create_time'=>['2018-8-1','2018-8-5'],  'status'=>1 ];
User::withSearch($query,$value)->select();


User::withSearch(['name' => function($query,$value,$data){
    $query->where('name','like', $value . '%');
}, 'create_time'=>function($query,$value,$data){
    $query->whereBetweenTime('create_time', $value[0], $value[1]);
}],  
['name'=>   'think','create_time'=>['2018-8-1','2018-8-5'],  'status'=>1 ])->select();



#修改器:(注意:insert、update无效,使用save)

        $user = User::get(7);
        $user->name = 'admin';#第一种写法
        $user->data('name', md5('admin')); #第二种写法
        $user->save();




#获取器:
        $user = User::get(7);
      echo $user->id;//获取器设置的值
      echo $user->getData('id');//原始值 
      dump($user->getData());// 获取全部原始数据

//动态获取,支持DB模式
User::withAttr('name', function($value, $data) {
    return strtolower($value);
})->select();

相关文章

网友评论

      本文标题:tp5模型三大利器使用笔记!

      本文链接:https://www.haomeiwen.com/subject/ogcfphtx.html