FuelPHP 系列(六) ------ CURD 增删改查
一、create
$article = new Model_Article();
// 或
$article = Model_Article::forge(); // 保存数据,返回新增数据 id
$article->save();
// 有时不方便设置自增 id,可手动添加
// 添加 properties
$article = Model_Article::forge();
$article->id = 'ha123';
$article->title = 'testtitle';
$article->save(); //或
$properity = array('id' => 'ha123', 'title' => 'testtitle');
$article = Model_Article::forge($properity);
$article->save();
// 框架封装的方法不一定满足,可以用 DB 类
$query = DB::insert('table_name', array('id', 'name')); $res = DB::query(sql)->bind()->execute();
二、update
// 编辑 id=3 的数据
$article = Model_Article::find(3);
// 设置数据
$article->title = 'edit_title';
$article->author = 'test';
// 执行 update
$article->save(); //或
$article = Model_Article::find(3);
$article->set(array('title' => 'edit_title', 'author' => 'test'));
$article->save();
$res = DB::update('table_name')->set(array())->execute(); $res = DB::query(sql)->bind()->execute();
三、delete
// 删除 id=3 的数据
$article = Model_Aricle::find(3);
$article->delete();
$res = DB::delete('table_name')->where()->execute(); $res = DB::query("sql")->bind()->execute();
四、read
// 根据 id 查
$article = Model_Article::find(2);
$article = Model_Article::find(array(2, 'foo')); // find first/last
$entry = Model_Article::find('first');
$entry = Model_Article::find('last', array('order_by' => 'date')); // find all
$entry = Model_Article::find('all');
$entry = Model_Article::find('all', array(
'where' => array(
array('category_id', 1),
),
'order_by' => array('date' => 'desc'),
));
$entry = Model_Article::find('all', array(
'where' => array(
array('category_id', 1),
'or' => array(
array('category_id', 2),
),
),
));
$user = DB::select('id', 'name')->from('users')->where('id', 1)->execute(); $user = DB::select_array(array('id', 'name'))->execute(); $user = DB::query("sql")->bind()->execute();
五、其他
1、sql 绑定变量:
$title = ’iat001’;
//绑定变量
$result = DB::query("SELECT * FROM articles WHERE title = :title")->bind(’title’, $title)->execute();
//直接赋值
$result = DB::query("SELECT * FROM articles WHERE title = :title")->param(’title’, ’iat001’)->execute();
//绑定多个参数
$result = DB::query("SELECT * FROM articles WHERE title = :title AND body = :body")->parameters(array(’title’ => $title, ’body’ => ’body001’))->execute();
2、数据 cache
//cached() 三个参数:缓存时间、缓存文件、是否存空值
$result = DB::query("SELECT * FROM articles")->cached(3600, "articles", false)->execute();
// 删除 articles 缓存文件
Cache::delete("articles");
// 删除 db 目录下的所有缓存
Cache::delete_all("db");
3、事务
try {
//事务开始
DB::start_transaction();
$result = DB::insert(’articles’)->set(array(’title’ => ’iat001’, ’body’ => ’body001’))->execute();
// 自定义返回信息
DB::escape('ERROR:' . $msg);
// 事务结束
DB::commit_transaction();
} catch(Exception $e) {
// 事务回滚
DB::rollback_transaction();
// 回滚提示信息
$e->getMessage();
}
4、链式操作
// order_by
$query = Model_Article::query()->where('category_id', 1)->order_by('date', 'desc');
// count
$number_of_articles = $query->count();
// max
$number_of_articles = $query->max('id');
// min
$number_of_articles = $query->min('date');
// get_one
$newest_article = $query->get_one();
// limit
$all_articles = $query->limit(15)->get();
// to_array() 转换为数组
$entry = Model_Article::query()->where('id', '=', 8)->get_one()->to_array(true, true); $entry = Model_Article::query()->select('name', 'date')->get();
FuelPHP 系列(六) ------ CURD 增删改查的更多相关文章
- C# 数据操作系列 - 15 SqlSugar 增删改查详解
0. 前言 继上一篇,以及上上篇,我们对SqlSugar有了一个大概的认识,但是这并不完美,因为那些都是理论知识,无法描述我们工程开发中实际情况.而这一篇,将带领小伙伴们一起试着写一个能在工程中使用的 ...
- 微软Connect教程系列--自动生成增删改查页面工具介绍(二)
本章课程描述了vs2015的三个特点,其中主要将描述在vs2015下面,使用命令自动生成增删改查界面,具体如下: 1.web.config文件不在存在,用config.json替代,以适应支撑vs的插 ...
- Mysql学习笔记(六)增删改查
PS:数据库最基本的操作就是增删改查了... 学习内容: 数据库的增删改查 1.增...其实就是向数据库中插入数据.. 插入语句 insert into table_name values(" ...
- python 10min系列之实现增删改查系统
woniu-cmdb 奇技淫巧--写配置文件生成增删改查系统 视频教程 项目主页跪求github给个star, 线上demo,此页面都是一个配置文件自动生成的 详细的文章介绍和实现原理分析会发布在我的 ...
- .Net程序员学用Oracle系列(12):增删改查
1.插入语句 1.1.INSERT 1.2.INSERT ALL 2.删除语句 2.1.DELETE 2.2.TRUNCATE 3.更新语句 3.1.UPDATE 3.2.带子查询的 UPDATE 3 ...
- 网络系列之 cookie增删改查(封装)
什么是cookie 呢?简单来说,这个小东西,会记录你的 浏览器 浏览习惯,或 账号密码等, 以便于提高用户的体验感. 举个例子: 你们有没有发现,去淘宝一些购物网站, 你搜索了 椅子, 挑选了一会椅 ...
- MySQL的CURD 增删改查
添加 insert 语法: 单条:insert into 表名('字段1', '字段2', ...) values('值1', '值2', ...) 多条:insert into 表名('字段1', ...
- ThinkPHP - CURD增删改查 - 实例 - 搜索功能
模板代码: /** * 搜索数据 * @return 无返回值 */ public function search(){ //判断并接收参数 //姓名 if ( isset($_POST['usern ...
- ThinkPHP - CURD增删改查 - 实例
目录结构:
随机推荐
- 双目SLAM(1) 总配置
kitti 数据集 图像+相机参数 sgbm gpu 算深度 cuda sifi 算匹配点 rabsac 随机筛选 1)CUDA配置(自己配置)8.0 参考网页 ...
- Linux上安装Oracle的辛酸史
下个礼拜就要开始学习Oracle了,得嘞先在我的CentOS7上装一个(貌似听说Oracle装在Oracle Linux能得到更好的性能,不过懒得下Oracle Linux镜像,在CentOS7上装个 ...
- eig()函数求特征值、特征向量、归一化
在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有 5种:(1) E=eig(A):求矩阵A的全部特征值,构成向量E. 想求最大特征值用:max(eig(A))就好了 ...
- C# 语法三 抽象类和接口
1.抽象类 2.接口 一 抽象类 跟普通类的区别: a)用abstract标识类.抽象方法 b)抽象方法,只能声明,不能定义 c)抽象类不能实例化 二 接口 接口用interface标识,所有的成员( ...
- sql新语句
SQL语句查找重复数据的写法: select partner_id,* from sale_origin where partner_id in (select partner_id from ...
- Yarn 入门
Yarn 是快速.可靠.安全的 js 包管理器. 关键词: nodejs, 包管理, yarn 简介 Yarn 是快速.可靠.安全的 js 包管理器. 快速 - Yarn 会缓存它下载的每个包,所以无 ...
- python语言程序设计3
1, 起码坚持每天 半小时吧... 2, 上面有常用的几个数据类型..整数类型和字符串类型还行,但是列表类型的话就很蛋疼了. 3, 字符串类型的显著特点是在两侧有单引号或者双引号.用单引号和双引号表 ...
- windows下pwd、ls、tail-f命令使用
一.问题 习惯了linux命令,在windows上使用cmd没有这些命令时很不习惯. 二.解决办法 2.1 找到这些命令对应的windows命令 ls,对应于windows的dir pwd,对应于wi ...
- 闭包----你所不知道的JavaScript系列(4)
一.闭包是什么? · 闭包就是可以使得函数外部的对象能够获取函数内部的信息. · 闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. · 闭包就 ...
- keycloak 调研资料
1.https://www.keycloak.org/docs/latest/server_development/index.html 下载keycloak 2.https://gitee.com/ ...