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语句
这里就不一一截图了,大家可以试一下。