yii2 AR常用数据操作

本文总结了Yii2框架中Active Record(AR)的常用数据操作,包括通过Gii生成AR类以及在models目录手动创建,利用返回的yiidbActiveQuery实例进行各种强大的数据库CURD操作。

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

总结yii2里面AR一些强大的curd方法:

先声明AR类,gii生成或在models目录中手动创建:


namespace app\models;
use yii\db\ActiveRecord;
class News extends ActiveRecord{
public static function tableName(){
return '{{%news}}';
}
/**
* @news与cate关联,获取关联cate信息
*/

public function getCate(){
return $this->hasOne(Cate::className(),["cid"=>"id"]);
}
}




返回yii\db\ActiveQuery实例,然后尽情发挥yii强大的AR功能吧!!


News::find()           //返回查询实例
News::find()->one()          //返回一条数据
News::find()->all()            //返回所有数据
News::find()->asArray()->all()            //以数组形式返回所有数据
News::find()->count()     //返回所有记录条数
News::find()->max()       //返回最大值,默认值为id
News::find()->min()       //返回最小值
News::find()->average()     //返回指定列的平均值
News::find()->save()            //保存或更新数据

News::findOne(1)         //返回主键为指定值的记录,若主键为id,表示查找id=1的记录
News::findOne(['id'=>1,'status'=>News::STATUS_ACTIVE])       //返回主键为1,状态活跃的记录

News::findAll([1,2,3])      //返回id为1,2,3的一组记录
News::findAll(['status'=>News::STATUS_ACTIVE])  //返所有回活动状态的记录

News::find()->where(['status'=>1])->one()        //返回包含指定条件【where里面的数组】的一条记录
News::find()->where(['status'=>1])->all()    //返回包含指定条件【where里面的数组】的所有记录
News::find()->where(['status'=>1])->count()    //返回包含指定条件【where里面的数组】的记录总数
News::find()->where(['status'=>1])->orderBy('id')->all()  //返回包含指定条件【where里面的数组】的所有记录,按id排序

News::findBySql($sql)->all()            //通过原生sql语句返回执行结果

News::findOne($id)->delete()            //删除指定id的数据,先获取数据对象再去删除
News::deleteAll('age>:age',[':age'=>$age])            //返回符合指定条件【括号里面的参数】的数据










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值