thinkphp5的模型 数据整理 不习惯tp5的模型数据的可以看看

浏览:15110 发布日期:2017/03/18 分类:技术分享 关键字: thinkphp5的模型数据转tp3 tp5模型多了东西
我最近才玩tp5,发现好多东西不明白,文档看的不太舒服,可能是水平太低,很多地方看的一头雾水。导致都不知道tp5的模型怎么搞才行(数据太多看的不舒服,可能是思维还在tp3)。其实这个效果的代码一点点而已(遍历转换),熟悉的可以直接看文件类容的第3点。

修改前:

修改后:



下面我来说我的方法:

目录结构(主要三个文件)
1.application\index\controller\index.php
2.application\index\model\UserModel.php
3.application\common.php

文件类容
1.application\index\controller\index.php
控制器,和之前没什么变化,命名空间比较好用了,要注意命名空间<?php

namespace app\index\controller;

use think\Controller;
use app\index\model\UserModel;

class Login extends Base
{

    public function index()
    {

        $User_model = new UserModel();    // 实例化用户模型
        $userdatas = $User_model->getAllUserDatas();     // 获取数据

        var_dump($userdatas);
    }

}
2.application\index\model\UserModel.php
模型,我将数据库链接也放到这里<?php

namespace app\index\model;

use think\Model;

\think\Loader::controller('common/member', 'event');    // 加载common.php的函数

class UserModel extends Model
{
    // 设置当前模型对应的完整数据表名称
    protected $table = 'user';

    // 设置当前模型的数据库连接
    protected $connection = [
        // 数据库类型
        'type'        => 'mysql',
        // 数据库连接DSN配置
        'dsn'         => '',
        // 服务器地址
        'hostname'    => '127.0.0.1',
        // 数据库名
        'database'    => 'mydb',
        // 数据库用户名
        'username'    => 'root',
        // 数据库密码
        'password'    => '123',
        // 数据库连接端口
        'hostport'    => '3306',
        // 数据库连接参数
        'params'      => [],
        // 数据库编码默认采用utf8
        'charset'     => 'utf8',
        // 数据库表前缀
        'prefix'      => '',
    ];
    
    // 获取所有用户的所有数据
    public function getAllUserDatas()
    {
        $more_datas = $this->select();          // 查询所有用户的所有字段资料

        if (empty($more_datas)) {                 // 判断是否出错
            return false;
        }

        return tp5ModelTransfer($more_datas);   // 返回修改后的数据
    }

}
3.application\common.php
公共函数文件,放置这个转换功能的,主要代码,其实就一点点<?php
// 应用公共文件

function tp5ModelTransfer($array)
{
    if (empty($array) || !count($array)) {
        return false;
    }

    foreach ($array as $value) {
        $datarray[] = $value->toArray();
    }

    return $datarray;
}
ps
本人刚刚接触tp5还在看网上高手分享的代码,这是我个人的一点分享,如有高手有更好的见解请分享,哈哈
希望能帮到有需要的人!!!
最佳答案
评论( 相关
后面还有条评论,点击查看>>