11.ThinkPHP 3.1.2 连贯操作
- ====================================================
- 一、常用连贯操作
- 1.where
- 帮助我们设置查询条件
- 2.order
- 对结果进行排序
- $arr=$m->order('id desc')->select();
- $arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select();
- 3.limit
- 限制结果
- limit(2,5)
- limit('2,5')
- limit(10)//limit(0,10)
- 4.field
- 设置查询字段
- field('username as name,id')
- field(array('username'=>'name','id')
- field('id',true) //获取除了id以外的所有字段
- 5.table
- 6.group
- 7.having
- 二、补充
- alias 用于给当前数据表定义别名 字符串
- page 用于查询分页(内部会转换成limit) 字符串和数字
- join* 用于对查询的join支持 字符串和数组
- union* 用于对查询的union支持 字符串、数组和对象
- distinct 用于查询的distinct支持 布尔值
- lock 用于数据库的锁机制 布尔值
- cache 用于查询缓存 支持多个参数(以后在缓存部分再详细描述)
- relation 用于关联查询(需要关联模型扩展支持) 字符串
- validate 用于数据自动验证 数组
- auto 用于数据自动完成 数组
- filter 用于数据过滤 字符串
- scope* 用于命名范围 字符串、数组
- 补充部分会在以后在详细探讨
- 在定义一个类时,因为没有对类实例化(对象),因而也无法得知对象的具体名称是什么。
- 这时,如果想调用类中的成员方法或成员变量,就只能通过伪变量$this调用,$this顾名思义就是指类本身,需要注意的一点是$this 只能在类内部使用。否则将出错
- 类似perl 中的$self
- bless 引用 特定的包
- perl 对象实现:
- bless 以一个普通的指向数据结构的引用为参数。它将会把那个数据结构(注意,不是引用本身)
- 标记为属于某个特定的包,
- <?php
- class UserAction extends Action{
- public function index(){
- echo "你好!";
- $m=M('user');
- $arr=$m->select();
- #var_dump($arr);
- $this->assign('data',$arr);
- $this->display();
- }
- public function del(){
- $m=M('user');
- ##删除具体id数据
- $id=$_GET['id'];
- $count=$m->delete($id);
- echo $count;
- if ($count>0){
- $this->success('数据删除成功');
- }else{
- $this->error('数据删除失败');
- }
- }
- //负责修改页面
- public function modify(){
- $id=$_GET['id'];
- $m=M('user');
- $arr=$m->find($id);
- $this->assign('data',$arr);
- $this->display();
- }
- public function update(){
- $m=M('user');
- $data['id']=$_POST['id'];
- $data['username']=$_POST['username'];
- $data['sex']=$_POST['sex'];
- $count=$m->save($data);
- if ($count>0){
- $this->success('数据修改成功','index');
- }else{
- $this->error('数据修改失败');
- }
- }
- public function add(){
- $this->display();
- }
- public function create(){
- $m=M('user');
- $m->id=$_POST['id'];
- $m->username=$_POST['username'];
- $m->sex=$_POST['sex'];
- $idnum=$count=$m->add();
- if ($idnum){
- $this->success('数据添加成功','index');
- #$this->success('数据添加成功');
- }else{
- $this->error('数据添加失败');
- }
- }
- public function search(){
- var_dump($_POST);
- // 获取POSTT的数据,根据数据组查询的条件,根据条件从数据库中获取数,
- //返回给页面遍历
- $m=M('user');
- if (isset($_POST['username']) && $_POST['username'] !=null ){
- $where['username']=$_POST['username'];
- };
- if (isset($_POST['sex']) && $_POST['sex'] !=null){
- $where['sex']=$_POST['sex'];
- };
- #$where['logic']
- echo $where['username'];
- echo $where['sex'];
- $arr=$m->where($where)->select();
- $this->assign('data',$arr);
- $this->display('index');
- }
- public function show(){
- $m=M('user');
- #$arr=$m->order('id asc')->select();
- $arr=$m->order('id asc')->limit(3,6)->field('username as name,id')->select();
- dump($arr);
- $this->display();
- }
- }
- ?>
11.ThinkPHP 3.1.2 连贯操作的更多相关文章
- ThinkPhp 3.2 数据的连贯操作
ThinkPHP模型基础类提供的连贯操作方法(也有些框架称之为链式操作),可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作. 使用也比较简单, 假如我们现在要查询一个User表 ...
- ThinkPHP框架模型连贯操作(八)
原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...
- ThinkPHP第十八天(Widget类的使用,连贯操作where IN用法,缓存S函数使用)
1.Widget类的使用方法: 第一步:在Action同级目录中新建Widget文件夹(独立分组需要自己建立) 第二步:根据不同功能在Widget文件夹中建立不同的Widget类,如热门文章HotWi ...
- ThinkPHP - 连贯操作
/** * 连贯操作 * @return 无返回值 */ public function coherentOperation(){ //实例化模型 $user = M('User'); // +--- ...
- thinkphp 3.2 部分数据库连贯操作phpstorm helper 文件
<?php class Helper { /** * 用于设置数据写入和查询是否严格检查是否存在字段. * 默认情况下不合法数据字段自动删除,如果设置了严格检查则会抛出异常 * 如: * str ...
- thinkPHP--SQL连贯操作
一.连贯入门 连贯操作使用起来非常简单,比如查找到 id 为 1,2,3,4 中按照创建时间的倒序的前两 位. //连贯操作入门 $user = M('User'); var_dump($user-& ...
- 【转】PHP实现连贯操作
[第一种方案 __call] 我们在使用一些框架(如ThinkPHP)编码的时候,常用到这样的代码. M('User')->where(array('id'=>1))->field( ...
- ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )
//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...
- Selenium-ActionChainsApi--鼠标连贯操作
ActionChains UI自动化测试过程中,经常遇到那种,需要鼠标悬浮后,要操作的元素才会出现的这种场景,那么我们就要模拟鼠标悬浮到某一个位置,做一系列的连贯操作,Selenium给我们提供了Ac ...
随机推荐
- 瀑布流的三种实现方式(原生js+jquery+css3)
前言 项目需求要弄个瀑布流的页面,用的是waterfall这个插件,感觉还是可以的,项目赶就没自己的动手写.最近闲来没事,就自己写个.大致思路理清楚,还是挺好实现的... 原生javascript版 ...
- HNU13028Attacking rooks (二分匹配,一行变多行,一列变多列)
Attacking rooks Time Limit: 20000ms, Special Time Limit:50000ms, Memory Limit:65536KB Total submit u ...
- 内联函数 inline
(一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int ...
- c++,命名空间(namespace)
1.什么是命名空间: 命名空间:实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来. 2.命名空间 ...
- Word中使用代码高亮插件
Word中使用代码高亮插件 1.下载并安装:SyntaxHighlighter4Word.zip 解压,然后双击bin\word2010\Kong.SyntaxHighlighter.Word2010 ...
- linux 下搭建 ftp
最近为了方便目标板与PC机上LINUX之间的通讯,就在LINUX搭建了FTP,工作不难,写个总结.主要经过以下几个步骤: 1.检查是否安装了vsftpd服务器 可以用rpm -q vsftpd命令来查 ...
- ThinkPHP快捷函数
16个快捷函数用法 1.A() 实例化控制器 格式:[资源://][模块/]控制器A($name,$layer='',$level='')@param string $name 资源地址 @pa ...
- (Problem 2)Even Fibonacci numbers
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting w ...
- ubuntu12.04中如何设定中文输入法
安装 ibus 终端输入:sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 启动 ibus 终端输入 : im-s ...
- python模块 mysql-python安装(在ubuntu系统下)
直接运行如下命令 sudo pip install MySQL-python 报如下错误 xxx@ubuntu:~$ sudo pip install MySQL-python Downloading ...