搜尋
首頁後端開發php教程ThinkPHP学习札记(八)CURD的的相关操作以及表的关联查询等

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

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

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

action

<?phpclass CurdAction extends Action{	//创建和增删改成	//create()	//创建会完成自动映射、自动填充、自动验证	//如果开启了字段缓存,会去匹配字段,如果不存在,会获取字段,返回一个数组	//create方法中有自动令牌,向当前的session会话中放入Md5加密的字符串会将字符串插入点表单的</from>之前,session和form中有	//令牌可以在conf中配置;可以在页面设置不显示令牌但是一样使用令牌<!--{__NOTOKEN__}-->	//如果页面中有多个表单,只有一个表单需要令牌,可以在此表单中显示指定:<!--{__TOKEN__}-->	//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

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>CURD</title>


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
华为GT3 Pro和GT4的差异是什么?华为GT3 Pro和GT4的差异是什么?Dec 29, 2023 pm 02:27 PM

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

修复:截图工具在 Windows 11 中不起作用修复:截图工具在 Windows 11 中不起作用Aug 24, 2023 am 09:48 AM

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

jquery如何隐藏select元素jquery如何隐藏select元素Aug 15, 2023 pm 01:56 PM

jquery隐藏select元素的方法:1、hide()方法,在HTML页面中引入jQuery库,可以使用不同选择器来隐藏select元素,ID选择器将selectId替换为你实际使用的select元素的ID;2、css()方法,使用ID选择器选择需要隐藏的select元素,使用css()方法将display属性设置为none,并将selectId替换为select元素的ID。

使用golang进行Select Channels Go并发式编程的异步处理方法使用golang进行Select Channels Go并发式编程的异步处理方法Sep 28, 2023 pm 05:27 PM

使用golang进行SelectChannelsGo并发式编程的异步处理方法引言:并发式编程是现代软件开发中的一个重要领域,它可以有效地提高应用程序的性能和响应能力。在Go语言中,使用Channels和Select语句可以简单而高效地实现并发编程。本文将介绍如何使用golang进行SelectChannelsGo并发式编程的异步处理方法,并提供具体的

如何修复无法连接到iPhone上的App Store错误如何修复无法连接到iPhone上的App Store错误Jul 29, 2023 am 08:22 AM

第1部分:初始故障排除步骤检查苹果的系统状态:在深入研究复杂的解决方案之前,让我们从基础知识开始。问题可能不在于您的设备;苹果的服务器可能会关闭。访问Apple的系统状态页面,查看AppStore是否正常工作。如果有问题,您所能做的就是等待Apple修复它。检查您的互联网连接:确保您拥有稳定的互联网连接,因为“无法连接到AppStore”问题有时可归因于连接不良。尝试在Wi-Fi和移动数据之间切换或重置网络设置(“常规”>“重置”>“重置网络设置”>设置)。更新您的iOS版本:

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code<form name="myform"

linux要用select的原因是什么linux要用select的原因是什么May 19, 2023 pm 03:07 PM

因为select可以使开发者在同时等待多个文件缓冲区,可减少IO等待的时间,能够提高进程的IO效率。select()函数是IO多路复用的函数,允许程序监视多个文件描述符,等待所监视的一个或者多个文件描述符变为“准备好”的状态;所谓的”准备好“状态是指:文件描述符不再是阻塞状态,可以用于某类IO操作了,包括可读,可写,发生异常三种。select是一个计算机函数,位于头文件#include。该函数用于监视文件描述符的变化情况——读写或是异常。1.select函数介绍select函数是IO多路复用的函

docker挂载目录权限问题怎么解决docker挂载目录权限问题怎么解决Feb 29, 2024 am 10:04 AM

在Docker中,挂载目录的权限问题通常可以通过以下方法解决:使用-v参数指定挂载目录时添加权限相关的选项。可以通过在挂载的目录后面添加:ro或:rw来指定挂载目录的权限,分别表示只读和读写权限。例如:dockerrun-v/host/path:/container/path:roimage_name在Dockerfile中定义USER指令来指定容器中运行的用户,以确保容器内部的操作符合权限要求。例如:FROMimage_name#CreateanewuserRUNuseradd-ms/bin/

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。