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)层次型数据库:类似于树结构,是一组通过链接而互相联系在一起的记录. ( ...
随机推荐
- 安卓开发之cache 的使用(图片查看器案例)
package com.lidaochen.test; import android.graphics.Bitmap; import android.graphics.BitmapFactory; i ...
- 理解JVM之java内存模型
java虚拟机规范中试图定义一种java内存模型(JMM)来屏蔽掉各种硬件和操作系统内存访问差异,以实现让java程序在各种平台都能打到一致的内存访问效果.所以java内存模型的主要目标是定义程序中各 ...
- MySQL删除表操作(delete、truncate、drop的区别)
简介delete1.删除整张表的数据: delete from table_name; 2.删除部分数据,添加where子句: delete from table_name where...; 3.说 ...
- axios使用API
背景:请求失败后,因跨域引起的不能传递statusCode问题,通过设置前后台选项解决,这里先总结一下axios的使用 一.安装与配置: 安装: npm install axios axios使用AP ...
- 【SpringMVC】统一异常处理
一.需求 二.统一异常处理解决方案 2.1 定义异常 2.2 异常处理 2.3 配置统一异常处理器 2.4 异常处理逻辑 一.需求 一般项目中都需要作异常处理,基于系统架构的设计考虑,使用统一的异常处 ...
- 什么是软件工具开发包(SDK)
开发一个软件,需要经过编辑.编译.调试.运行几个过程. 编辑:使用编程语言编写程序代码的过程. 编译:将编写的程序进行翻译. 调试:程序不可能一次性编写成功,编写过程中难免会出现语法.语义上的错误,调 ...
- Linux之redis的安装,主从配置
一,redis安装 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...
- C++——new & delete
C++ new Complex类 String类 C++ delete Comlex类 String类 array new 一定要搭配array delete VC架构下new内存分配演绎 Linux ...
- tcp的三次握手和四次挥手(二)
一.三次握手 三次握手概念 当面试官问你为什么需要有三次握手.三次握手的作用.讲讲三次握手的时候,我想很多人会这样回答. 首先很多人会先讲下握手的过程: 第一次握手:客户端给服务器发送一个 SYN 报 ...
- ECU 自动化生产测试系统
概述 ECU(Electronic Control Unit) 是现代车辆中最重要的部件之一,其稳定性.可靠性对车辆安全性的影响至关重要.如何保证ECU 生产质量和效率.如何在生产过程中对ECU 进行 ...