Yii数据库操作

本文详细介绍了如何在Yii2框架中使用Model进行CRUD操作,包括实例化模型、增删改查函数的使用,以及Yii::$app->db->createCommand的高级数据库操作技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
/**
 * Date: 2017/6/2
 * Time: 14:48
 */

//实例化模型操作数据库,对象是model,返回的结果是对象

//增
//只用 新增的情况 需要new 模型
$model = new Model();
$model->attributes = $_POST['user'];
//使用attributes 只收录 验证过后的数据
$model->save();
//save 方法,在new Model 的时候是增加,
//在$model::model()静态调用时候是修改


//查询单条
find() //查询一条信息
//例: find('username = :name',array(':name'=>'admin'))
findByPk() //通过主键来查询
//例: findByPk(1)
findBySql() //通过sql 来查询出一条
//例: findBySql('select * from {{user}}')

//查询多条
findAll() //查询多条信息
//例: findAll('color=:color',array(':color'=>'red'))

Category::model()->findAll(array(
        'select'=>array('*'),
        'order'=>'cg_code asc',
        'condition'=>'cg_level = :name AND ga_code = :name2 AND cg_type=:name3',
        'params'=>array(':name'=>1, ':name2' => GA_CODE, ':name3' => 'Y'),
    )
findAllByPk() //通过主键来查询,可以多个主键
//例: findAllByPk(array(1,2,3))
findAllBySql() //通过 sql 来查询出多条
//例: findAllBySql('select * from {{admin}}')



//改
$model = Model::model();//静态调用
$info = $model->findByPk($id); //根据主键查询出改数据对象
if (isset($_POST['user'])) {
    //判断数据是否存在 存在则赋值 修改操作
    $info->attributes = $_POST['user'];
    $info->save();//此时修改操作
}
$this->render('edit', array('model' => $info));//讲数据对象传送到前台



//删
$model = Model::model()->deleteByPk($id);



Yii的createCommand用法操作数据库
常用操作
//返回id为1对应的行 
$user = Yii::$app->db->createCommand('SELECT * FROM oc_user WHERE id=1')->queryOne();

//返回oc_user表的所有数据 
$user = Yii::$app->db->createCommand('SELECT * FROM oc_user')->queryAll();

//返回oc_user表的name列 
$user = Yii::$app->db->createCommand('SELECT name FROM oc_user')->queryColumn();

//返回id为1对应行的第一列的值 
$user = Yii::$app->db->createCommand('SELECT * FROM oc_user WHERE id=1')->queryScalar();

//删除id为1的一行1
Yii::$app->db->createCommand()->delete('oc_user', 'id = 1')->execute();

注意://引用变量时不要直接写到sql语句中,这样不安全
$user = Yii::$app->db->createCommand("SELECT * FROM oc_user WHERE id=$id")->queryOne();

yii2 增删改查(这里我就不写了,官方的地址,自己好好看):
https://www.yiichina.com/tutorial/996
————————————————
版权声明:本文为CSDN博主「PHP.SEO」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liunx___/article/details/78951613
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值