欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ThinkPHP学习札记(八)CURD的的相关操作以及表的关联查询等

程序员文章站 2024-04-03 17:01:04
...
ThinkPHP学习笔记(八)CURD的的相关操作以及表的关联查询等

本节的使用基于六、七的基于数据库的链接和conf的配置

主要是action中的curd的方法和update

action

之前,session和form中有
	//令牌可以在conf中配置;可以在页面设置不显示令牌但是一样使用令牌
	//如果页面中有多个表单,只有一个表单需要令牌,可以在此表单中显示指定:
	//create默认获取数据的方法是post方法
	public function index() {
		$this->display();
	}
	
	public function add(){
		$user=new Model('User');
		
//		//不使用create方法验证令牌
//		if (!$user->autoCheckToken($_POST)) {
//			//令牌验证失败的代码;
//			$this->error($user->getError());
//		}else{
//			//获取其中信息$user
//			$user->username;
//			$user->username=md5($user->password);
//	//		dump($user);
//			if ($user->add()) {
//				$this->success('添加成功');
//			}else{
//				$this->error($user->getError());
//			}
//		}
		
		
		//返回的数组信息如果用自动填充,返回值和信息更多
		if ($vo=$user->create()) {
//			//这个方法是执行成功的一个方法,会给出页面的各种信息
//			dump($vo);
//			//successs模板可以在ThinkPHP的example中找到,放入到default中的public目录中
//			$this->success('create成功');
			
			//获取其中信息$user
			$user->username=md5($user->password);
//			dump($user);
			if ($user->add()) {
				$this->success('添加成功');
			}else{
				$this->error($user->getError());
			}
		}else {
			//如果执行失败,代码不会继续向后执行
//			dump($vo);
//			dump($user);
			//error模板可以在ThinkPHP的example中找到,放入到default中的public目录中
			$this->error($user->getError());
		}
	}
	
	public function curd(){
		$user=M('user');
		//find()查询单条记录
		//select()查询所有信息
		//findAll()就是select的同名方法
//		$find=$user->find();
//		$select=$user->select();
//		$findAll=$user->findAll();
//		dump($find);
//		dump($select);
//		dump($findAll);
		
		//一:查询涉及到一个连贯操作问题;手册:5.3.10
		//1.根据条件进行查询where中可以通过字符串、数组、对象来传值
		//函数有:data、where、limit、order、field、group、having(sql一致,二次过滤结果集)、page(多用pageView来进行分页)
		//data方法可以被替代用于save当中传值、add、delete的方法时
//		$select=$user->select(array('where'=>'id>1','limit'=>'2,8','order'=>'id desc'));
//		$select=$user->where('id=3')->find();
//		$select=$user->where('id>1')->limit('2')->order('id desc')->field('id,username')->select();
		
		//2.$user->table()用来操作多张表;也可以通过field来限制查询列
//		$select=$user->table(array('tb_user'=>'user','tb_user_message'=>'m'))->where('user.id=m.id')->select();
//		$select=$user->table('tb_user user,tb_user_message m')->where('user.id=m.id')->select();
		
		//3.$user->join()
//		$select=$user->join('user on user.id=user_message.id')->select();

		//4.$user->distinct()
//		$select=$user->distinct(true)->select();

		//5.关联模型:$user->relation()

		//6.锁:$user->lock()	
		//基本上可以不用考虑锁机制(mysql5.0的myisam引擎支持表级锁,innodB引擎支持行级锁)
//		$select=$user->lock(true)->select();
		
		//二:getField()
//		$select=$user->where('id>1')->getField('id,username');
		
		
		//更新操作:返回值是受影响行数
		//1.save()中可以直接传入想要更改的数据,格式:字段信息数组
		//可以不写where,但是数组中必须模拟的where条件
//		$data['id']='4';
//		$data['username']='aaaa';
//		$data['password']='aaaa';
//		$select=$user->where('id=4')->save($data);
//		$select=$user->where('id=4')->data($data);
		//1.setField()参数:字段,值
//		$select=$user->where('id=4')->setField(array('username','password'),array('google','google'));
		//2.setInc():对数字字段进行的增加更新操作。参数:字段、where、增加的整型(默认加一)
//		$select=$user->setInc('price','id=2',1);
		//3.setDec()对数字字段进行的减少更新操作。参数:字段、where、减少的整型(默认减一)
//		$select=$user->setDec('price','id=2',1);
		
		//add操作:返回插入的id
//		$data['username']='aaaa';
//		$data['password']='aaaa';
//		$select=$user->add($data);
//		$select=$user->data($data)->add();
		
		//delete操作:受影响的行数
//		$select=$user->delete(6);
//		$select=$user->where('id>4')->delete();
//		$select=$user->where('id>1')->limit('1')->order('id desc')->delete();
		dump($select);
		
		//实现更新指定id的数据
//		$this->display();
	}
	public function update(){
		$user=new Model('User');
		//返回的数组信息如果用自动填充,返回值和信息更多
		if ($vo=$user->create()) {
			$user->username=md5($user->password);
			if ($user->save()) {
				$this->success('添加成功');
			}else{
				$this->error($user->getError());
			}
		}else {
			$this->error($user->getError());
		}
	}
}
?>

html



CURD


ThinkPHP学习札记(八)CURD的的相关操作以及表的关联查询等

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频