Thinkphp框架对数据库的操作(总结)
发布时间 - 2020-01-29 00:00:00 点击率:次1.添加数据
1.1添加一条数据
$user = new User;
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->save();
$user = new User;
$user->save([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
]);
1.2过滤非数据表字段的数据
$user = new User; // 过滤post数组中的非数据表字段数据 $user->allowField(true)->save($_POST);
1.3指定某些字段数据
$user = new User; // post数组中只有name和email字段会写入 $user->allowField(['name','email'])->save($_POST);
1.4添加多条数据
$user = new User;
$list = [
['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);
1.5静态方法
$user = User::create([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
]);
echo $user->name;
echo $user->email;
echo $user->id; // 获取自增ID
2.更新数据
2.1查找并更新
$user = User::get(1); $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->save();
2.2直接更新数据
$user = new User;
// save方法第二个参数为更新条件
$user->save([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
],['id' => 1]);2.3 过滤非数据表字段
$user = new User; // 过滤post数组中的非数据表字段数据 $user->allowField(true)->save($_POST,['id' => 1]);
2.4指定某些字段
$user = new User(); // post数组中只有name和email字段会写入 $user->allowField(['name','email'])->save($_POST, ['id' => 1]);
2.5批量更新数据
$user = new User;
$list = [
['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']
];
$user->saveAll($list);2.6静态方法
User::where('id', 1)
->update(['name' => 'thinkphp']);
2.7自动识别
2.7.1显示更新数据
// 实例化模型
$user = new User;
// 显式指定更新数据操作
$user->isUpdate(true)
->save(['id'
=> 1, 'name' => 'thinkphp']);2.7.2显示新增数据
$user = User::get(1); $user->name = 'thinkphp'; // 显式指定当前操作为新增操作 $user->isUpdate(false)->save();
3.删除数据
3.1删除当前模型
$user = User::get(1); $user->delete();
3.2根据主键删除
User::destroy(1);
// 支持批量删除多个数据
User::destroy('1,2,3');
// 或者
User::destroy([1,2,3]);3.3条件删除
User::destroy(function($query){
$query->where('id','>',10);
});
4.查询数据
4.1获取单个数据
// 取出主键为1的数据
$user = User::get(1);
echo $user->name;
// 使用查询构造器查询满足条件的数据
$user = User::where('name', 'thinkphp')->find();
echo $user->name;
4.2获取多个数据
// 根据主键获取多个数据
$list = User::all('1,2,3');
// 或者使用数组
$list = User::all([1,2,3]);
// 对数据集进行遍历操作
foreach($list as $key=>$user){
echo $user->name;
}// 使用查询构造器查询
$list = User::where('status', 1)->limit(3)->order('id', 'asc')->select();
foreach($list as $key=>$user){
echo $user->name;
}4.3获取某个字段或者某个列的值
// 获取某个用户的积分
User::where('id',10)->value('score');
// 获取某个列的所有值
User::where('status',1)->column('name');
// 以id为索引
User::where('status',1)->column('name','id');更多相关ThinkPHP知识,请访问ThinkPHP教程!
# thinkphp
# 数据库
# 多个
# 组中
# 主键
# 遍历
# 自动识别
# 第二个
# 更多相关
# 多条
# update
# saveAll
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
Python文件操作最佳实践_稳定性说明【指导】
,在苏州找工作,上哪个网站比较好?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
如何获取上海专业网站定制建站电话?
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
高防服务器租用如何选择配置与防御等级?
教你用AI润色文章,让你的文字表达更专业
Laravel distinct去重查询_Laravel Eloquent去重方法
Python制作简易注册登录系统
如何打造高效商业网站?建站目的决定转化率
Laravel如何使用查询构建器?(Query Builder高级用法)
新三国志曹操传主线渭水交兵攻略
Android使用GridView实现日历的简单功能
如何快速选择适合个人网站的云服务器配置?
在centOS 7安装mysql 5.7的详细教程
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
如何在IIS中新建站点并解决端口绑定冲突?
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
如何在IIS7上新建站点并设置安全权限?
java获取注册ip实例
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
如何有效防御Web建站篡改攻击?
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
如何快速搭建高效服务器建站系统?
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
JavaScript数据类型有哪些_如何准确判断一个变量的类型
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
详解Android中Activity的四大启动模式实验简述
南京网站制作费用,南京远驱官方网站?
如何在建站主机中优化服务器配置?
如何用VPS主机快速搭建个人网站?
UC浏览器如何设置启动页 UC浏览器启动页设置方法
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
如何解决hover在ie6中的兼容性问题
Android Socket接口实现即时通讯实例代码
如何自定义建站之星模板颜色并下载新样式?
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
如何在腾讯云服务器上快速搭建个人网站?
如何在阿里云完成域名注册与建站?
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
如何续费美橙建站之星域名及服务?


=> 1, 'name' => 'thinkphp']);