• thinkphp模型层


    thinkphp想要做模型model,首先要更改一下配置文件:在Home文件夹下的Conf下的config文件中进行修改:

    我们可以将convention里边复制一下过来修改:

    <?php
    return array(
        //'配置项'=>'配置值'
        'SHOW_PAGE_TRACE' =>true,
        /* 数据库设置 */
        'DB_TYPE'               =>  'mysql',     // 数据库类型
        'DB_HOST'               =>  'localhost', // 服务器地址
        'DB_NAME'               =>  'book',          // 数据库名
        'DB_USER'               =>  'root',      // 用户名
        'DB_PWD'                =>  '',          // 密码
        'DB_PORT'               =>  '',        // 端口
        'DB_PREFIX'             =>  '',    // 数据库表前缀
        'DB_PARAMS'              =>  array(), // 数据库连接参数    
        'DB_DEBUG'              =>  TRUE, // 数据库调试模式 开启后可以记录SQL日志
        'DB_FIELDS_CACHE'       =>  false,        // 启用字段缓存
        'DB_CHARSET'            =>  'utf8',      // 数据库编码默认采用utf8
        'DB_DEPLOY_TYPE'        =>  0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
        'DB_RW_SEPARATE'        =>  false,       // 数据库读写是否分离 主从式有效
        'DB_MASTER_NUM'         =>  1, // 读写分离后 主服务器数量
        'DB_SLAVE_NO'           =>  '', // 指定从服务器序号
    
        /* 数据缓存设置 */
    );

    将数据库名称等改为自己的就可以了,然后我们开始创建模型对象:

    <?php
    namespace HomeController;//Home是根文件夹,Controller是该文件所在文件夹
    use ThinkController;//ThINK是根文件夹,Controller是该文件所在文件夹
    class MainController extends Controller{
        public function index(){
            $n = D("leibie");//创建模型对象,如果创建了模型文件就用这种
            $n = M("leibie");//创建模型对象,创建的是父类对象
            $arr = array("lbid"=>"b005","lbname"=>"小说类");
            //使用数组方式添加
            $n->add($arr);
                   }
                }

    我们在Home的Model里创建一个文件LeibieModel.classp.hp:

    <?php
    namespace HomeModel;
    use ThinkModel;
    class LeibieModel extends Model{
    }

    我们创建了模型对象就可以从数据库查数据了:

    <?php
    namespace HomeController;//Home是根文件夹,Controller是该文件所在文件夹
    use ThinkController;//ThINK是根文件夹,Controller是该文件所在文件夹
    class MainController extends Controller{
        public function index(){
            //$n = D("leibie");//创建模型对象,如果创建了模型文件就用这种
            $n = M("leibie");//创建模型对象,创建的是父类对象
            //$arr = array("lbid"=>"b005","lbname"=>"小说类");
            //得到数据的方法
            $arr = $n->select();//读取所有数据
            var_dump($arr);
                    }
                }

    输出结果为:

    这就是leibie表中的所有数据。

    <?php
    namespace HomeController;//Home是根文件夹,Controller是该文件所在文件夹
    use ThinkController;//ThINK是根文件夹,Controller是该文件所在文件夹
    class MainController extends Controller{
        public function index(){
            //$n = D("leibie");//创建模型对象,如果创建了模型文件就用这种
            $n = M("leibie");//创建模型对象,创建的是父类对象
            //$arr = array("lbid"=>"b005","lbname"=>"小说类");
            //得到数据的方法
          $arr = $n->find("b001");//读一条数据
            var_dump($arr);
                    }
                }

    读一条数据的输出结果:

    再看一下返回数据总数:

    <?php
    namespace HomeController;//Home是根文件夹,Controller是该文件所在文件夹
    use ThinkController;//ThINK是根文件夹,Controller是该文件所在文件夹
    class MainController extends Controller{
        public function index(){
            //$n = D("leibie");//创建模型对象,如果创建了模型文件就用这种
            $n = M("leibie");//创建模型对象,创建的是父类对象
            //$arr = array("lbid"=>"b005","lbname"=>"小说类");
            //得到数据的方法
         $arr = $n->count();//返回该表数据总数
            var_dump($arr);
                    }
                }

    输出结果为:

    thinkphp还支持连贯操作,条件查询:

    //连贯操作
            //$arr = $n->where("price>50")->select();//加查询条件
            //$arr = $n->table("brand")->select();//切换数据表
            //$arr = $n->field("code,name")->select();//确定查找的列
            //$arr = $n->order("price")->select();//排序
            //$arr = $n->limit(3,3)->select();//分页查询,跳过3条取3条
            //$arr = $n->page(2)->select();//取第二页
            //$arr = $n->join("")->select();//连接查询
            //$arr = $n->query();//查询原生sql语句

    这里就不一一截图了,大家可以试一下。

  • 相关阅读:
    opencv ImportError: libSM.so.6: cannot open shared object file: No such file or directory
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcd
    Linux卸载并更新显卡驱动
    人脸识别
    dav转mp4
    python调用c++接口,参数为opencv读取数据
    Linux下内存泄漏工具valgrind
    模型轻量化
    自动驾驶车搭建
    TSN(Temporal Segment Networks)
  • 原文地址:https://www.cnblogs.com/mengshenshenchu/p/7133915.html
Copyright © 2020-2023  润新知