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>

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

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

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

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

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

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

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

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

Dreamweaver CS6
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

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