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 相关文章推荐
建立文件交换功能的脚本(一)
Oct 09 PHP
PHP文章按日期(月日)SQL归档语句
Nov 29 PHP
PHP is_subclass_of函数的一个BUG和解决方法
Jun 01 PHP
PHP实现利用MySQL保存session的方法
Aug 23 PHP
php实现网站留言板功能
Nov 04 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
Apr 23 PHP
PHP数据库操作三:redis用法分析
Aug 16 PHP
PHP+mysql防止SQL注入的方法小结
Apr 27 PHP
php给数组赋值的实例方法
Sep 26 PHP
对laravel的session获取与存取方法详解
Oct 08 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
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
JCalendar 日历控件 v1.0 beta[兼容IE&amp;Firefox] 有文档和例子
2007/05/30 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
Python 深入理解yield
2008/09/06 Python
在python中的socket模块使用代理实例
2014/05/29 Python
Python读取properties配置文件操作示例
2018/03/29 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
酒吧员工的岗位职责
2013/11/26 职场文书
证婚人经典证婚词
2014/01/09 职场文书
暑期培训心得体会
2014/09/02 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
2014年学校工作总结
2014/11/20 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
mysql 带多个条件的查询方式
2021/06/05 MySQL
Go并发4种方法简明讲解
2022/04/06 Golang
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python