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中的cookie
Nov 26 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
PHP-Fcgi下PHP的执行时间设置方法
Aug 02 PHP
对PHP语言认识上需要避免的10大误区
Jun 12 PHP
Yii使用find findAll查找出指定字段的实现方法
Sep 05 PHP
php中rename函数用法分析
Nov 15 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
php基于数组函数实现关联表的编辑操作示例
Jul 04 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 PHP
PHP实现网站应用微信登录功能详解
Apr 11 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操作Postgresql封装类与应用完整实例
2018/04/24 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
AJAX架构之Dojo篇
2007/04/10 Javascript
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
加速IE的Javascript document输出的方法
2010/12/02 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
Python端口扫描简单程序
2016/11/10 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
python实现扫雷游戏
2020/03/03 Python
Python callable内置函数原理解析
2020/03/05 Python
python属于解释型语言么
2020/06/15 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
优秀毕业生求职信范文
2014/01/02 职场文书
社区居务公开实施方案
2014/03/27 职场文书
产品生产计划书
2014/05/07 职场文书
网络营销策划方案
2014/06/04 职场文书
铣工实训报告
2014/11/05 职场文书
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python
vue生命周期钩子函数以及触发时机
2022/04/26 Vue.js
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android