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增删改查 - 实例
		
目录结构:
 
随机推荐
- go标准库的学习-hash
			
参考:https://studygolang.com/pkgdoc 导入方式: import "hash" hash包提供hash函数的接口. type Hash type Has ...
 - day04--流程控制之if
			
编程的目的是让计算机像人脑一样工作,因此就需要让计算机具备人脑一样的逻辑思维,这里就需要用到计算机语言的流程控制: 流程控制之if......else 语法1: if 条件: 代码块 # 一组代码块的 ...
 - Java Web 项目目录结构
			
为了使 Web 容器顺利地执行 Web 应用,开发者需要以一种标准的方式将 Web 项目中的资源(Servlets.JSP 等)打包.一个 Web 项目的目录结构可分为两种: 发布目录结构 Web 容 ...
 - solvepnp
			
CV_EXPORTS_W bool solvePnP( InputArray objectPoints,- 世界坐标系下的控制点的坐标,vector<Point3f>的数据类型在这里可以使 ...
 - Linux内核poll内部实现
			
前言 poll机制用于实现IO多路复用.所谓IO多路复用,通俗的讲,其实就是线程复用,使其能在一个线程上处理多个IO. 用户空间 用户通过调用用户空间的poll函数使用该机制. 驱动部分的实现 用户如 ...
 - PAT A1148 Werewolf - Simple Version (20 分)——暴力遍历,负负得正
			
Werewolf(狼人杀) is a game in which the players are partitioned into two parties: the werewolves and th ...
 - jdk_1_8_1
			
JAVA_HOME=/usr/local/java/jdk1.8.0_181 PATH=$JAVA_HOME/bin:$PATH JAVA_BINDIR=/usr/local/java/jdk1.8. ...
 - LED恒流驱动IC汇总
			
LED恒流驱动IC汇总 2017年09月22日 11:29:01 阅读数:569 这几天在找LED恒流驱动芯片,无意间在LED网论坛上发现这个帖子,分享给大家! LED恒流IC芯片大盘点 ...
 - React-使用redux-immutable统一数据格式
			
在header的reducer.js里把header变成immutable对象之后,在组件里获取focused属性就得这样获取: focused:state.header.get('focused') ...
 - kafka学习2:kafka集群安装与配置
			
在前一篇:kafka学习1:kafka安装 中,我们安装了单机版的Kafka,而在实际应用中,不可能是单机版的应用,必定是以集群的方式出现.本篇介绍Kafka集群的安装过程: 一.准备工作 1.开通Z ...