Yii2学习之DAO和Query

本文详细介绍了Yii2框架中DAO和Query的使用,包括简单的介绍、源码解析、常用操作以及Query的高级查询。内容涵盖如何通过DAO进行SQL操作,解释了Query如何构建SQL并执行,以及各种查询条件的设置方法,如where、order by、group by等,强调了参数绑定的重要性以确保SQL安全性,并给出了批量处理和事务操作的例子。
摘要由CSDN通过智能技术生成

简单介绍

上节介绍了AR类,是以面向对象的方式操作数据库,yii2还提供了一套统一的数据库访问层API(Data Access Objects),可以以SQL语句方式操作数据库表,能完成AR类的任何操作,但是相对与AR使用DAO需要写大量的sql语句,如果你的sql语句很复杂,会在后续工作中很难维护,所以一般建议还是使用AR类。但是不管DAO还是AR他们都是通过Query基类创建sql语句(AR类通过创建AQ对象操作),最后都是通过Command类的queryInternal方法的PDO操作返回查询的数据。

源码解析

基本的DAO操作
$query = Yii::$app->db->createCommand(“select * from oc_user where id= :id", [':id' => $id])->queryOne();

Query查询返回数组

$query = (new Query())
    ->select('*')
    ->from('oc_user')
    ->where('id = :id', [':id' => $id])
    ->one();

上面两种格式返回oc_user中id为指定 id|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值