php手记之05-tp5模型操作数据库
# 实例化模型
// $user = new User;
// $user1 = new User();
// $user2 = model('user'); // 添加一条数据
# 方法1
// $user1 = new User();
// $user1->name = 'phpthink';
// $user1->age = 89;
// $user1->save(); # 方法2
// $user = new User;
// $user->save([
// 'name' => 'thinkph111p',
// 'age' => '12'
// ]);
# 方法3
// $user = User::create([
// 'name' => 'thinkph222p',
// 'age' => '19'
// ]);
// echo $user->name; // 过滤post数组中的非数据表字段数据
// $user = new User;
// $user->allowField(true)->save($request->param());
// dump($request->param()); # 添加多条记录
// $user = new User;
// $list = [
// ['name' => 'thinkphp12', 'email' => 'thinkphp@qq.com'],
// ['name' => 'onethink22', 'email' => 'onethink@qq.com']
// ];
// $user->saveAll($list); // 更新数据
# 方法1find
// $user = User::get(10);
// $user->name = 'thinkphp';
// $user->email = 'thinkphp@qq.com';
// $user->save(); # 方法2
// $user = new User;
// save方法第二个参数为更新条件
// $user->save([
// 'name' => 'thinkphp',
// 'email' => 'thinkphp@qq.com'
// ], ['id' => 1]); // $user = new User;
// 过滤post数组中的非数据表字段数据
// $user->allowField(true)->save($request->param(), ['id' => 1]); # 方法3
// User::where('id', 1)->update(['name' => 'thinkphp']); // 删除数据
# 方法1
// 在查询后调用delete方法。返回影响的记录数
// $user = User::get(1);
// $user->delete(); # 方法2--直接调用静态方法(根据主键删除)
// User::destroy(1);
// 支持批量删除多个数据
// User::destroy('1,2,3');
// User::destroy([1, 2, 3]); // 条件删除
// 使用闭包删除
// User::destroy(function($query){
// $query->where('id','>',21);
// });
// 数据库类的查询条件删除
// User::where('id','>',20)->delete(); // 软删除
// $user = new User();
// $ret = User::where('status', 1)->select(); # 查询
// 取出主键为1的数据
$user = User::get(1);
//查询单条记录
// $ret = User::where('name', 'liww')->find();
# 查询多条记录(条件)
// $ret = User::where('status', 1)->limit(3)->order('id', 'asc')->select();
// 根据主键获取多个数据
$list = User::all('1,2,3');
// 或者使用数组
$list = User::all([1,2,3]);
// 对数据集进行遍历操作
foreach($list as $key=>$user){
echo $user->name;
}
// 查询全部
$ret = User::select();
# 获取某个字段或者某个列的值
// 获取某个用户的名字
// $ret =User::where('id', 10)->value('name');
// 获取某个列的所有值
// $ret = User::where('status', 1)->column('name'); # 动态查询
// 根据name字段查询用户信息
// $name = User::getByName('thinkphp');
// 根据email字段查询用户
$user = User::getByEmail('thinkphp@qq.com');
php手记之05-tp5模型操作数据库的更多相关文章
- .NET使用DAO.NET实体类模型操作数据库
一.新建项目 打开vs2017,新建一个项目,命名为orm1 二.新建数据库 打开 SqlServer数据库,新建数据库 orm1,并新建表 student . 三.新建 ADO.NET 实体数据模型 ...
- Qt 学习之路 2(56):使用模型操作数据库
Qt 学习之路 2(56):使用模型操作数据库 (okgogo: skip) 豆子 2013年6月20日 Qt 学习之路 2 13条评论 前一章我们使用 SQL 语句完成了对数据库的常规操作,包括简单 ...
- Django中的模型(操作数据库)
目录 Django配置连接数据库 在Django中操作数据库 原生SQL语句操作数据库 ORM模型操作数据库 增删改查 后台管理 使用后台管理数据库 模型是数据唯一而且准确的信息来源.它包含您正在储存 ...
- 黑马lavarel教程---5、模型操作(AR模式)
黑马lavarel教程---5.模型操作(AR模式) 一.总结 一句话总结: AR: ActiveRecord :Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型 ...
- Django1.11模型类数据库操作
django模型类数据库操作 数据库操作 添加数据 1,创建类对象,属性赋值添加 book= BookInfo(name='jack',pub_date='2010-1-1') book.save() ...
- mybatis 操作数据库(05)
类型转换.动态排序,查询接口与mapper对应关系说明及其注意事项 一.MyBatis 自带写常见类型转换器.例如:java 类中 String 对应 mySQL中的varchar 二.自定义类型转换 ...
- tp5模型事件回调函数中不能使用$this
tp5模型事件回调函数中不能使用$this,使用会报错,涉及到数据库操作使用Db类,不能使用$this->save()之类的方式 如果回调函数中需要使用类内函数,需要将函数定义为static,通 ...
- python操作数据库
一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...
- 十五、JDBC操作数据库
1.数据库特点 实现数据共享.减少数据的冗余度.数据的独立性.数据集中控制.数据的一致性和可维护性. 2.数据库种类和功能 (1)层次型数据库:类似于树结构,是一组通过链接而互相联系在一起的记录. ( ...
随机推荐
- jquery sortable的拖动方法示例详解
转自:https://hb-keepmoving.iteye.com/blog/1154618 所有的事件回调函数都有两个参数:event和ui,浏览器自有event对象,和经过封装的ui对象 u ...
- Android NDK 学习之在C中调用Java的变量和静态变量
本博客主要是在Ubuntu 下开发,且默认你已经安装了Eclipse,Android SDK, Android NDK, CDT插件. 在Eclipse中添加配置NDK,路径如下Eclipse-> ...
- linux管道和重定向
管道 管道应该是等左边的程序执行完,才使用左边的程序的输出执行右边的程序. 但是在测试的时候,如果左边的程序无限循环且不等待的输出,那么左边的程序执行时右边的程序也会执行,个人感觉这是linux的机制 ...
- C# - 常见问题整理
关于循环和try{}..catch{}的嵌套使用 foreach(var item in items) { try { try{ } catch(Exception ex) { throw; // 将 ...
- CentOS7.X版本系统的下载和安装
一.下载CentOS镜像 1.打开浏览器输入centos.org 2.选择版本下载 3.进入下载页面选择下载版本的种子链接,在迅雷下载即可. 二安装CentOS系统 1.服务器开机,根据界面提示进入磁 ...
- 在Linux中安装ASPNET.Core3.0运行时
# 以下示例适用于x64位runtime v3.0.0 mkdir /runtimes cd /runtimes wget https://download.visualstudio.microsof ...
- Django drf: 跨域机制
一.同源策略 二.CORS(跨域资源共享)简介 三.CORS基本流程 四.CORS两种请求流程 五.Django项目中支持CORS 一.同源策略 同源策略是一种约定,它是浏览器最核心的最基本的安全功能 ...
- C#一些不太熟悉的类——扩展学习
Process.CloseMainWindow Method 通过向进程的主窗口发送关闭消息来关闭拥有用户界面的进程. 注解 进程执行时,其消息循环处于等待状态. 每次操作系统将 Windows 消息 ...
- de4dot - Deobfuscator for .NET
Features Here's a pseudo random list of the things it will do depending on what obfuscator was used ...
- GIS 基础知识简介
前言 前一段时间,在公司进行了分析 GIS 基础信息的介绍.之所以会有这个介绍以及为什么是我?这个个中缘由说下. 公司不是一个GIS方面的公司,但是由于业务的需要,经常需要用到地图(要和地图打交道), ...