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();
	}
	
 
 }



 ?>

原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199618.html