tp连贯操作
链接数据库
首先写配置文件
复制concentration.php中的
/* 数据库设置 */
'DB_TYPE' => '', // 数据库类型
'DB_HOST' => '', // 服务器地址
'DB_NAME' => '', // 数据库名
'DB_USER' => '', // 用户名
'DB_PWD' => '', // 密码
'DB_PORT' => '', // 端口
'DB_PREFIX' => '', // 数据库表前缀
'DB_PARAMS' => array(), // 数据库连接参数
'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志
'DB_FIELDS_CACHE' => true, // 启用字段缓存
粘贴到
config.php中
<?php
return array(
//'配置项'=>'配置值'
/* 数据库设置 */
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'crud', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => '123', // 密码
'DB_PORT' => '', // 端口
'DB_PREFIX' => '', // 数据库表前缀
'DB_PARAMS' => array(), // 数据库连接参数
'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志
'DB_FIELDS_CACHE' => true, // 启用字段缓存
);
新建模块
<?php
namespace Home\Model;
use Think\Model;
class InfoModel extends Model{
public function login(){ }
}
打开
直接实例化info表
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$info = new\Home\Model\InfoModel();
var_dump($info);
}
}
部分截图
实例化模型对象的两种方法。D();和M();方法
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
//$info = new\Home\Model\InfoModel();
//var_dump($info);
$n = D("nation");
var_dump($n);
}
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
//$info = new\Home\Model\InfoModel();
//var_dump($info);
//$n = D("nation");
//var_dump($n);
$n = M("nation");
var_dump($n);
}
}
结果一样和D方法不一样的就是M方法没有表名。M方法用来造父类对象。D方法相当于NEW的简写
操作数据库
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db->select();
var_dump($arr);
//返回二维数组
}
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db->select("n001");
var_dump($arr);
//select()中不给参数就是查所有,给参数就查相应参数的内容
//参数只能是主键,可以是多个参数
//返回二维数组
}
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db->find("n001");
var_dump($arr);
//可以查一条
//返回一维数组
}
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
->where("Name like '%人%'")//条件。多个条件可以用and或者or 也可以多写一个where()
->select(); var_dump($arr); }
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
//->where("Name like '%人%'")//条件
->table("Info")//临时切换表格
->select(); var_dump($arr); }
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
//->where("Name like '%人%'")//条件
//->table("Info")//临时切换表格
->field("Name")//取字段,可以用逗号隔开取多个
->select(); var_dump($arr); }
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
//->where("Name like '%人%'")//条件
//->table("Info")//临时切换表格
//->field("Name")//取字段,可以用逗号隔开取多个
//->order()//根据条件排序。默认升序
//->limit("2,5")//跳过2条取5条。一个参数是取前几条
//->page("2,5")//第二页显示五条
//->group()//分组
//->distinct()//去重
//->field()//根据这个条件去重
->lock(true)//自己在处理是把表格锁死,别人没法用
->select(); var_dump($arr); }
}
聚合函数
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
//->count();//个数
//->sum();求和()中写根据哪列
//->avg();求平均值 var_dump($arr); }
}
分组查询
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
->table("car")//临时切换表格
->group("brand")//分组
->field("brand,AVG(price)")
->select(); var_dump($arr); }
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
->field("Info.Code as Code,Info.Name as Name,Nation.Name as nation")
->join("Info on Info.Nation=Nation.Code")
//如果列名重复就不能这么写
->select(); var_dump($arr); }
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db->query("select * from nation");//支持原生的sql语句
var_dump($arr); }
}
tp连贯操作的更多相关文章
- ThinkPhp 3.2 数据的连贯操作
ThinkPHP模型基础类提供的连贯操作方法(也有些框架称之为链式操作),可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作. 使用也比较简单, 假如我们现在要查询一个User表 ...
- thinkPHP--SQL连贯操作
一.连贯入门 连贯操作使用起来非常简单,比如查找到 id 为 1,2,3,4 中按照创建时间的倒序的前两 位. //连贯操作入门 $user = M('User'); var_dump($user-& ...
- 【转】PHP实现连贯操作
[第一种方案 __call] 我们在使用一些框架(如ThinkPHP)编码的时候,常用到这样的代码. M('User')->where(array('id'=>1))->field( ...
- 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句
如题: 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句不是一条关联查询语句. 例如: $list = $db->relation(true) ...
- ci连贯操作的limit两个参数和sql是相反的
ci连贯操作的limit两个参数和sql是相反的 db->where("name =",'mary')->ge() name后面要有个空格否则报错当为一个字段 -> ...
- Laravel框架数据库CURD操作、连贯操作
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...
- Laravel框架数据库CURD操作、连贯操作总结
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 复制代码代码如下: $use ...
- ThinkPHP第十八天(Widget类的使用,连贯操作where IN用法,缓存S函数使用)
1.Widget类的使用方法: 第一步:在Action同级目录中新建Widget文件夹(独立分组需要自己建立) 第二步:根据不同功能在Widget文件夹中建立不同的Widget类,如热门文章HotWi ...
- ThinkPHP - 连贯操作
/** * 连贯操作 * @return 无返回值 */ public function coherentOperation(){ //实例化模型 $user = M('User'); // +--- ...
随机推荐
- Sharding与数据库分区(Partition) 分表、分库、分片和分区
Sharding与数据库分区(Partition) http://blog.sina.com.cn/s/blog_72ef7bea0101cjtb.html https://www.2cto.com/ ...
- 记录jq控制select 选中状态
$("#categoryId option[value='"+ data.category_id +"']").attr("selected" ...
- linux 内核启动流程分析,移植
分析 linux-2.6.22.6 内核启动流程 移植 linux-3.4.2 到 JZ2440 开发板 Linux内核源码百度云链接: https://pan.baidu.com/s/1m1ymGl ...
- python解析VOC的xml文件并转成自己需要的txt格式
在进行神经网络训练的时候,自己标注的数据集往往会有数据量不够大以及代表性不强等问题,因此我们会采用开源数据集作为训练,开源数据集往往具有特定的格式,如果我们想将开源数据集为我们所用的话,就需要对其格式 ...
- oracle按照指定列分组合计group by rollup()
group by rollup() 按分组合计 select grouping(status),status,owner,object_type,count(*) from dba_objects w ...
- InnoDB启用大内存页
在 Linux 操作系统上运行内存需求量较大的应用程序时,由于其采用的默认页面大小为 4KB,因而将会产生较多 TLB Miss 和缺页中断,从而大大影响应用程序的性能.当操作系统以 2MB 甚至更大 ...
- 如何为DigitalOcean上的服务器配置SSH密钥
本指南适用于mac OS和Linux,windows用户请绕道. 通常,当你启动DigitalOcean droplets时,只要过程完成,你会收到一封电子邮件,让你知道droplets的IP地址和密 ...
- HTTP协议与WEB框架简介
HTTP协议与WEB框架简介 一.HTTP协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wid ...
- Python3学习之路~2.8 文件操作实现简单的shell sed替换功能
程序:实现简单的shell sed替换功能 #实现简单的shell sed替换功能,保存为file_sed.py #打开命令行输入python file_sed.py 我 Alex,回车后会把文件中的 ...
- shell脚本循环和信号
条件判断 if 条件1:then COMMAND elif 条件2:then COMMAND else COMMAND(:) : 表示pass 不执行任何命令 fi 读取用 ...