thinkphp5学习总结!
数据库操作之原生sql操作
<?php
namespace app\index\controller;
use think\Db; class Index
{
public function index()
{
echo "hello world";
} public function sqlAdd(){
//插入数据
$result=Db::execute('insert into think_test (name,state) values("周杰伦",1)');
var_dump($result);//返回受影响的行数
} public function sqlUpd(){
//修改数据
$result=Db::execute('update think_test set name="张学友",state=0 where id=1');
var_dump($result);//返回受影响的行数
} public function sqlDel(){
//删除数据
$result=Db::execute('delete from think_test where id=1');
var_dump($result);//返回受影响的行数
} public function sqlSel(){
//查询数据
$result=Db::query('select * from think_test');
var_dump($result);//返回数组
}
}
数据库操作之查询构造器
//==========================查询构造器==========================
public function tabAdd(){
//插入数据 如果不写表前缀 把table改为name即可
$result=Db::table('think_test')->insert(['name'=>'段誉','state'=>]);
var_dump($result);
} public function tabUpd(){
//修改数据 如果不写表前缀 把table改为name即可
$result=Db::table('think_test')->where('id',)->update(['name'=>'虚竹']);
var_dump($result);
} public function tabDel(){
//删除数据 如果不写表前缀 把table改为name即可
$result=Db::table('think_test')->where('id',)->delete();
var_dump($result);
} public function tabSel(){
//查询数据 如果不写表前缀 把table改为name即可
$result=Db::table('think_test')->select();
var_dump($result);
} //使用助手函数db
public function dbSel(){
$db=db('test');//参数为表名
$result=$db->select();
var_dump($result);
//其他操作类似
//ps:助手函数db默认每次都会重新连接数据库,所以不推荐使用
} //链式操作
public function linkSel(){
$list=Db::name('test')
->where('state',)
->field(['name','state'])
->order('id','desc')
->limit()
->select();
var_dump($list);
//ps:链式操作select() 要在最后 其他条件顺序无所谓
//更多方法请查询手册
}
数据库操作之模型
<?php
namespace app\index\controller;
use app\index\model\User as UserModel; class User
{
//==========================模型==========================
/*模型是一种对象关系映射简称ORM,一般来说每个数据表会和一个模型对应
,模型不是简单的CURD操作,那种用Db类即可,模型的Db类的区别在于,模型
查询返回的是对象,Db查询返回的是数组,模型是比Db类更高级的数据封装
*/ //插入数据属性
public function add1(){
$user = new UserModel();
$user->name = '郭靖';
$user->email = 'guojing@qq.com';
$user->birthday = strtotime('2000-1-1');
if($user->save()){
return '插入成功';
}else{
return '插入失败';
}
} //插入数据数组
public function add2(){
$user['name'] = '黄蓉';
$user['email'] = 'huangrong@qq.com';
$user['birthday'] = strtotime('2003-1-1');
if(UserModel::create($user)){
return '插入成功';
}else{
return '插入失败';
}
} //插入数据多条
public function addList(){
$user = new UserModel();
$list = [
['name'=>'张三','email'=>'zhangsan@qq.com','birthday'=>strtotime('2000-1-1')],
['name'=>'李四','email'=>'lishi@qq.com','birthday'=>strtotime('2005-1-1')]
];
if($user->saveAll($list)){
return '插入成功';
}else{
return '插入失败';
}
} //更新数据 查找并更新
public function upd1(){
$user = UserModel::get();//参数为id
// var_dump($user);
$user->name = '刘德华';
$user->email = 'liudehua@qq.com';
if($user->save()){
return '更新成功';
}else{
return '更新失败';
}
} //更新数据 直接更新
public function upd2(){
$user = new UserModel();
$user -> save(['name'=>'郭富城','email'=>'guofucheng@qq.com'],['id'=>]);
} //更新数据 多条
public function upd3(){
$user = new UserModel();
$list=[
['id'=>,'name'=>'张三丰','email'=>'zsf@qq.com'],
['id'=>,'name'=>'欧阳锋','email'=>'oyf@qq.com']
];
if($user->saveAll($list)){
return '更新成功';
}else{
return '更新失败';
}
} //查询数据 id
public function select1(){
$user = UserModel::get();
echo $user->name.'<br/>';
echo $user->email.'<br/>';
echo $user->birthday.'<br/>';
} //查询数据 数组
public function select2(){
$user = UserModel::get(['name'=>'张三']);
echo $user->name.'<br/>';
echo $user->email.'<br/>';
echo $user->birthday.'<br/>';
} //查询数据
public function select3(){
$user = new UserModel();
$result = $user->where('name','张三')->find();
echo $result->birthday;
} //查询数据 多个数据
public function selectAll(){
$list = UserModel::all([,,]);
foreach ($list as $key => $value) {
echo $value->name.'<br/>';
echo $value->email.'<br/>';
echo $value->birthday.'<br/>';
}
}
}
thinkphp5学习总结!的更多相关文章
- ThinkPhp5学习之新手博客
前端框架来源网络,后端框架采用 ThinkPhp 5 开发 参考资料:哔哩哔哩 ThinkPHP5.1新手博客项目实战 项目地址:https://github.com/yjy1/tp5
- thinkphp5学习(一)——thinkphp5的目录结构与开发规范
开发规范: 目录和文件 目录使用小写+下划线: 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致: 类文件采用驼峰法命名(首字母大写),其它文 ...
- thinkphp5学习
1.路由的问题 1.1 // pathinfo分隔符 'pathinfo_depr' => '-'设置-后,如果访问的是/index/index 化,路由规则就不能解析 必须改为index-in ...
- thinkphp5 学习笔记
一.开发规范: 二.API: 1.数据输出:新版的控制器输出采用 Response 类统一处理,而不是直接在控制器中进行输出,通过设置 default_return_type 就可以自动进行数据转换处 ...
- thinkphp5学习记录一
1 使用composer安装 composer create-project topthink/think=5.0.* tpblog --prefer-dist 2 配置环境vim /usr/loca ...
- Thinkphp5学习 Windows下的安装
方法一.通过官方网站直接下载: (1)下载地址:http://www.thinkphp.cn/down.html: (2)下载后,解压到web目录下: (3)访问:http://localhost/目 ...
- [PHP][thinkphp5] 学习三:函数助手实例说明
来源:http://blog.csdn.net/lunsunhuan1825/article/details/71086487 load_trait:快速导入Traits,PHP5.5以上无需调用 / ...
- [PHP][thinkphp5] 学习二:路由、配置调用、常量定义调用
路由: 其实TP5就是一个集多家框架所长而成的,感觉失去了自己的特色!路由这块呢类似于laravel框架!废话不说直接上码! 路由配置,类似laravel,就在route.php文件里配置路由(文件所 ...
- [PHP][thinkphp5] 学习一:增删改查
<?php namespace app\index\controller; use think\Controller; use think\Db; class Test extends Cont ...
随机推荐
- ini_set的用法介绍
https://www.cnblogs.com/xieqian111/p/5367732.html
- Daily Scrum - 11/30
Meeting Minutes 现在有以下一些问题需要解决: 1.保存用户背诵情况的文件输出出了一些问题. 2.UWP开发Debug不太方便啊.老刘说他来加一个Log模块. 3.用户数据的同步有点麻烦 ...
- 【Leetcode】33. Search in Rotated Sorted Array
Question: Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforeh ...
- Jira 7.2.4简单安装过程
1. 下载安装jira的安装文件 这里使用同事已经下载好的文件. 2. 下载破解文件. 也是同事下载好的 具体文件为 atlassian-jira-software--x64 51CTO下载-jira ...
- 基于 ARM的 Windows 10S 笔记本 转帖
首款骁龙笔记本华硕畅370评测:续航不俗 性能拖后腿 2018年06月21日 12:23 新浪数码 缩小字体放大字体收藏微博微信分享 相关阅读:国内首款骁龙本华硕畅370发布:6199元送一年无限 ...
- C#委托的介绍(delegate、Action、Func、predicate)ga
转载:http://www.cnblogs.com/akwwl/p/3232679.html 感觉写的很好.例子也很简单明了.赞一个 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参 ...
- HDU 5112 A Curious Matt (2014ACM/ICPC亚洲区北京站-重现赛)
A Curious Matt Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others) ...
- MT【100】经典计数之分配问题
注意:此讲适合联赛一试学生,以及参加清华北大等名校的自主招生的学生. 经典计数之分配问题:把n个球放进k个盒子.考虑分配方法有三类:1.无限制 2.每个盒子至多一个(f 单的)3.每个盒子至少一个(f ...
- 洛谷P4219 [BJOI2014]大融合(LCT)
LCT维护子树信息的思路总结与其它问题详见我的LCT总结 思路分析 动态连边,LCT题目跑不了了.然而这题又有点奇特的地方. 我们分析一下,查询操作就是要让我们求出砍断这条边后,x和y各自子树大小的乘 ...
- BZOJ 3167: [Heoi2013]Sao
3167: [Heoi2013]Sao Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 96 Solved: 36[Submit][Status][D ...