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 Home\Controller;//Home是根文件夹,Controller是该文件所在文件夹
use Think\Controller;//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 Home\Model;
use Think\Model;
class LeibieModel extends Model{
}

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

<?php
namespace Home\Controller;//Home是根文件夹,Controller是该文件所在文件夹
use Think\Controller;//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 Home\Controller;//Home是根文件夹,Controller是该文件所在文件夹
use Think\Controller;//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 Home\Controller;//Home是根文件夹,Controller是该文件所在文件夹
use Think\Controller;//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语句

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

 

posted @ 2017-07-07 20:08  梦深深处  阅读(699)  评论(0编辑  收藏  举报