yii\db\ActiveQuery的使用 [ 2.0 版本 ]
在今天没有事做的时候想了解一下yii\db\ActiveQuery这个类的用法,各种百度各种谷歌还是想不到相应的文档。最后靠的是白狼的指导。最后才理解。那我今天来说说具体的用法。首先我们来看看官方的文档。我是看文档了才去百度的。
官方的文档是这样说的。yii\db\ActiveQuery这个类是一个数据库查询的类,它与活动记录yii\db\ActiveQuery有关。
看看他的查询方法:
one()返回一个记录填充数据的第一行
all()基于查询结果返回所有记录
count()返回的记录数
sum()返回指定列求和
average()返回指定列的平均
min()返回指定列的最小值
max()返回指定列的最大值
scaler()返回值的第一行第一列的查询结果
column()返回查询结果的第一列的值
exists()返回一个值指示是否查询结果数据
with()应该执行该查询的关系列表
indexBy()列的名称应该索引的查询结果
asArray()是否每条记录作为一个数组返回
现在看看具体的用法:
1、创建一个控制器AdminController.php
<?php
namespace backend\controllers;
//使用模型
use backend\models\Admin;
use yii;
use yii\web\Controller;
class AdminController extends Controller{
public function actionIndex(){
$a = (new yii\db\ActiveQuery(Admin::classname()))->limit(1)->asArray()->all();
var_dump($a);
}
}
?>
2、创建一个Admin模型:
<?php
namespace backend\models;
use yii\db\ActiveRecord;
use yii\base\Model;
class Admin extends ActiveRecord {
public static function tableName() {
return '{{%book}}';
}
}
最后访问一下控制器里面的方法就可以了!小伙伴们也可以根据上面的方法一个一个测试。
在这里特别感谢白狼的指导!学习在于分享。我们共同创造更好的平台。
邓高鹃 北京
注册时间:2016-11-17
最后登录:2017-01-16
在线时长:3小时3分
最后登录:2017-01-16
在线时长:3小时3分
- 粉丝3
- 金钱295
- 威望30
- 积分625
共 3 条评论
相关文档很少,现在还没弄清楚这个ActiveQuery跟ActiveRecord有什么关系
视乎想明白了一点,这个是自己定做查询函数,个人一般不太适合修改这些,这是个人见解,如果不对后面的来修改
这个问题一直没搞明白,个人实践中,使用gii生成model的时候一般不勾选 Generate ActiveQuery,
估计搞清楚这个问题还得重点研究下ActiveRecord与ActiveQuery的关系和使用