Yii框架数据库查询、增加、删除操作示例


Posted in PHP onOctober 14, 2019

本文实例讲述了Yii框架数据库查询、增加、删除操作。分享给大家供大家参考,具体如下:

Yii 数据库查询

模型代码:

<?php
namespace app\models;
use yii\db\ActiveRecord;
class Test extends ActiveRecord{
}

控制器代码:

public function actionTest(){
    //方法一
    $sql = 'select * from test where id=:id';
    $data = Test::findBySql($sql,array(':id'=>1))->all();
    var_dump($data);//数组
    //方法二
    $data = Test::find()->where(['id'=>1])->all();
    var_dump($data);//复杂的对象信息
    // 查询条件>的使用
    $data = Test::find()->where(['>','id',1])->all();
    var_dump($data);//复杂的对象信息
    // 查询条件 between 的使用
    $data = Test::find()->where(['between','id',2,5])->all();
    var_dump($data);//复杂的对象信息
    // 查询条件 like 的使用
    $data = Test::find()->where(['like','title','title1'])->all();
    var_dump($data);//复杂的对象信息
    //查询结果对象转化为数组,使用asArray
    $data = Test::find()->where(['between','id',2,5])->asArray()->all();
    var_dump($data);//复杂的对象信息
    //批量查询,例如每次获取2条
    $data = array();
    foreach(Test::find()->asArray()->batch(2) as $tests){
      foreach($tests as $val){
        $data[] = $val;
      }
    }
    print_r($data);
  }

总结,主要注意防止sql注入的占位符的使用,各种查询条件的使用,转化数组的使用,批量查询的使用。

yii 数据库增加数据

模型代码:

<?php
namespace app\models;
use yii\db\ActiveRecord;
class Test extends ActiveRecord{
  public function rules()
  {
    return [
      ['title','string','length'=>[0,10]]
    ];
  }
}

控制器代码:

public function actionTest(){
    //添加数据
    $test = new Test;
    $test->title = '';
    $test->validate();
    if ($test->hasErrors()) {
      echo 'error';
    } else {
      $test->save();
    }
  }

结论:保存数据及验证数据。

yii 数据库删除数据

public function actionTest(){
    //删除
    //方法一
    $result = Test::find()->where(['id' => 1])->all();
    $result[0]->delete();
    //方法二
    Test::deleteAll('id>:id', array(':id' => 5));
  }

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
有关 PHP 和 MySQL 时区的一点总结
Mar 26 PHP
PhpMyAdmin中无法导入sql文件的解决办法
Jan 08 PHP
php添加文章时生成静态HTML文章的实现代码
Feb 17 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
Jun 17 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
php对象在内存中的存在形式分析
Feb 03 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
PHP实现的回溯算法示例
Aug 15 PHP
php 中phar包的使用教程详解
Oct 26 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 PHP
Laravel实现ORM带条件搜索分页
Oct 24 PHP
laravel框架上传图片实现实时预览功能
Oct 14 #PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 #PHP
yii框架数据库关联查询操作示例
Oct 14 #PHP
laravel实现上传图片并在页面显示的例子
Oct 14 #PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 #PHP
laravel 多图上传及图片的存储例子
Oct 14 #PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
Oct 13 #PHP
You might like
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
php文件缓存类汇总
2014/11/21 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
nodejs 后缀名判断限制代码
2011/03/31 NodeJs
JQuery的$命名冲突详细解析
2013/12/28 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
Python中获取网页状态码的两个方法
2014/11/03 Python
Python实现二叉搜索树
2016/02/03 Python
python 性能优化方法小结
2017/03/31 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
python仿抖音表白神器
2019/04/08 Python
wxPython实现绘图小例子
2019/11/19 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
Django微信小程序后台开发教程的实现
2020/06/03 Python
Python 日期与时间转换的方法
2020/08/01 Python
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
公开承诺书格式
2014/05/21 职场文书
六年级语文教学反思
2016/03/03 职场文书