ThinkPHP之数据库操作
Model文件位置
ThinkPHP使用的是MVC架构,所以我们我们在操作数据库时,首先需要创建自己的Model类。
在每个模块下有个Model文件夹,我们可以将Model类放置在该文件夹下。如果多个模块需要使用同一的Model,则可以选择在项目的下创建Model文件夹来存放Model
配置数据库
在使用Model类来操作数据时,应先把数据库配置好。在每个模块下有个Conf/config.php文件,我们可以在里面配置数据库。
数据库配置
<?php
return array(
//'配置项'=>'配置值'
'SHOW_PAGE_TRACE'=>true,
'MODULE_ALLOW_LIST' => array('Home','Admin','Public'),
'MODULE_DENY_LIST' => array('Common','Runtime'),
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => '127.0.0.1', // 服务器地址
'DB_NAME' => 'weibo', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => 'admin', // 密码
);
定义Model类
一个Model类对应一张表,这里操作user表,所以我们的文件名应命名为UserModel.class.php。
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/6/20
* Time: 10:34
*/ namespace Home\Model;
use Think\Model; //父类Model Thinkphp/Think/library/Model.class/php
class UserModel extends Model{ }
如果我们不想这样写则可以在UserModel中直接指定表名
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/6/20
* Time: 10:34
*/ namespace Home\Model;
use Think\Model; //父类Model Thinkphp/Think/library/Model.class/php
class UserModel extends Model{
//该属性继承自Model类
protected $trueTableName = 'user';
}
控制器中实例化Model类
- 普通方式
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/6/20
* Time: 10:39
*/ namespace Home\Controller;
use Think\Controller; class UserController {
public function showList(){
$users = new \Home\Model\UserModel();
var_dump($users);
}
}
- 快捷方式
如果在开发中认为没必要去添加自己的Model类,则可以使用系统提供的Model。这个Model类其实就是我们在写自己的Model时,继承的那个Model类。
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/6/20
* Time: 10:39
*/ namespace Home\Controller;
use Think\Controller; class UserController {
public function showList(){
$m = M('user');
var_dump($m);
}
}
$m就是一个model对象了。M函数会根据我们传入的表明来生成相应的Model对象。这里传入的是user字符串,所以$m对象操作的是数据库中的user表。
ThinkPHP之数据库操作的更多相关文章
- ThinkPHP中数据库操作返回值总结
转自:http://www.baiwar.com/post/thinkphp-database-operations-in-the-return-value.html Thinkphp中的Think\ ...
- 【转】ThinkPHP中数据库操作返回值总结
Thinkphp中的Think\Model类提供了数据库的基本CURD(Create.Update.Read及Delete),通过该类可以很便捷的进行操作.Model类及扩展类主要的方法有: Crea ...
- thinkphp 5数据库操作
1.原生sql $options=Db::table('__MALL_POST__') ->alias('m') ->join('__MALL_CATEGORY_VALUE__ v','m ...
- thinkphp对数据库操作有哪些内置函数
getModelName() 获取当前Model的名称 getTableName() 获取当前Model的数据表名称 switchModel(type,vars=array()) 动态切换模型 tab ...
- thinkphp一般数据库操作
引入命名空间 插入 更新 查询 删除 一些支持命令行的操作 清空操作 分库操作 分库相关配置---在config.php中进行 使用: 参数绑定 占位符绑定 第一句后半拉
- thinkphp 对数据库的操作
查看ThinkPHP完全开发手册3.1 首先编辑配置文件 thinkphp这个数据库就不乱改了 昨天新建了一个 confluence(utf8)数据库 所以就用它学习一下吧,因为就只建立了一个数据库, ...
- thinkPHP数据库操作
thinkPHP如果要对数据库操作,一般来说首先要做的是在配置文件中链接数据库,然后用M方法实例化一张表,然后就是对表的操作了 可以开启调试功能查看程序执行的sql语句: 1.开启调试功能(默认是已经 ...
- ThinkPHP 数据库操作(一) : 连接数据库
ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操 作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理.采用 P ...
- 扣出thinkphp数据库操作类
假如你是一位thinkphp的使用者,想必你会觉得thinkphp操作数据库非常方便.现在在你面前有一个非常小的作业,小到完全没有必要用thinkphp去完成它.但是你又觉得不用thinkphp的话, ...
随机推荐
- 图片代替radio
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- tomcat发布记录
web项目发布详细步骤 服务器 tomcat服务器1.删除webapps文件夹里面的项目war包-->ifm.war(项目war名称)2.把项目的ifm.war放到webapps里面3.删除we ...
- [转帖]迅为4412开发板最小linux系统的存储空间修改
本文转自迅为论坛:http://www.topeetboard.com 最小linux系统的存储空间修改以修改成 1G 存储空间为例来修改,如果需要改成其他大小的存储空间,参照此方法修改即可. 首先连 ...
- Hadoop学习之SecondaryNameNode
在启动Hadoop时,NameNode节点上会默认启动一个SecondaryNameNode进程,使用JSP命令可以查看到.SecondaryNameNode光从字面上理解,很容易让人认为是NameN ...
- LeetCode题解-----Median of Two Sorted Arrays
题目描述: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of t ...
- shell script 学习笔记-----命令执行
1.PATH变量:shell最主要的功能就是执行用户输入的命令,例如当用户输入一条“ls”命令之后,shell就要找到该命令对应的文件并执行.通常shell都会设置一个名叫PATH的环境变量,其中保存 ...
- codeforces 480A A. Exams(贪心)
题目链接: A. Exams time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- mac os利用xampp实现apache下的cgi
折腾了两天终于把问题解决了,mac os是10.10.3..够新了吧 系统原生的apache配置cgi老是配不好,突然发现xampp也有macos版的,准备下下来试试. 安装完成后,打开apache服 ...
- python中的异常捕获怎么用?
http://www.2cto.com/kf/201301/184121.html http://www.w3cschool.cc/python/python-exceptions.html try: ...
- FreeMarker 一二事 - 静态模板结合spring展示
freemarker可以脱离web使用 前一篇文章使用了普通的方法 这回说说结合spring pom额外引入这个jar包 <dependency> <groupId>org.s ...