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
推荐一篇入门级的Class文章
Mar 19 PHP
一个PHP的String类代码
Apr 20 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
Oct 29 PHP
超级实用的7个PHP代码片段分享
Jan 05 PHP
解析php中static,const与define的使用区别
Jun 18 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
php抛出异常与捕捉特定类型的异常详解
Oct 26 PHP
PHP中使用OpenSSL生成证书及加密解密
Feb 05 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
详解php伪造Referer请求反盗链资源
Jan 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中路径问题的解决方案
2006/10/09 PHP
PHP读取目录下所有文件的代码
2008/01/07 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
jQuery 方法大全方便学习参考
2010/02/25 Javascript
javascript 回调函数详解
2014/11/11 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
2020/05/10 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
Python计算已经过去多少个周末的方法
2015/07/25 Python
Python中生成Epoch的方法
2017/04/26 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
详解Django CAS 解决方案
2019/10/30 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
24个canvas基础知识小结
2014/12/17 HTML / CSS
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
逻辑链路控制协议
2016/10/01 面试题
大学生的网上创业计划书
2013/12/31 职场文书
实习心得体会
2014/01/02 职场文书
三八妇女节活动主持词
2014/03/17 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
2014年电教工作总结
2014/12/19 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android