Yiiyii 查询返回数组怎么返回结果的条数

假如,需要查询某个分类下的几个子分类的全部数据时,比如,需要查询,文章分类下的时尚,技术,文艺,三个子分类的所有文章。当前这种情况,而这三个分类在数据表中的id为1,2,3那么,应该这样查。$cateStr = '(1,2,3)';$ArticleInfo = Article::model() -& findAll(&article_category_id in {$cateStr});这样,才能查到数据。如果依然不行,那就把查到的结果遍历输出。应该就会万事大吉了。另外一种方法,是将文章表和分类表关联,利用关联的关系去查,这样也能做到。在这里就不再叙述...Yii2.0 数据库查询_懒人程序
支付宝赞助帐号:
Yii2.0 数据库查询
Yii2.0 数据库查询
User::find()-&all(); & &此方法返回所有数据;
& &User::findOne($id); & 此方法返回 主键 id=1 &的一条数据(举个例子);
& &User::find()-&where(['name' =& '小伙儿'])-&one(); & 此方法返回 ['name' =& '小伙儿'] 的一条数据;
& &User::find()-&where(['name' =& '小伙儿'])-&all(); & 此方法返回 ['name' =& '小伙儿'] 的所有数据;
& &User::findBySql('SELECT * FROM user')-&all(); &此方法是用 sql &语句查询 user 表里面的所有数据;
& &User::findBySql('SELECT * FROM user')-&one(); &此方法是用 sql &语句查询 user 表里面的一条数据;
& &User::find()-&andWhere(['sex' =& '男', 'age' =& '24'])-&count('id'); & 统计符合条件的总条数;
& &User::find()-&one(); & &此方法返回一条数据;
& &User::find()-&all(); & &此方法返回所有数据;
& &User::find()-&count(); & &此方法返回记录的数量;
& &User::find()-&average(); & &此方法返回指定列的平均值;
& &User::find()-&min(); & &此方法返回指定列的最小值 ;
& &User::find()-&max(); & &此方法返回指定列的最大值 ;
& &User::find()-&scalar(); & &此方法返回值的第一行第一列的查询结果;
& &User::find()-&column(); & &此方法返回查询结果中的第一列的值;
& &User::find()-&exists(); & &此方法返回一个值指示是否包含查询结果的数据行;
& &User::find()-&batch(10); &每次取 10 条数据
& &User::find()-&each(10); &每次取 10 条数据, 迭代查询
看过本文的人还看过
支持键盘 ← →Yii的数据添加 删除 修改与查询示例-Php框架模板-Php教程-壹聚教程网Yii的数据添加 删除 修改与查询示例
Yii的数据添加 删除 修改与查询示例对于各位初学yii框架的朋友来说使用不小哦,这里有几个例子比较有用大家可参考一下。
对于一个Model Post 有如下的4中查询方法,返回对象或者对象数组。
&// find the first row satisfying the specified condition
$post=Post::model()-&find($condition,$params);
// find the row with the specified primary key
$post=Post::model()-&findByPk($postID,$condition,$params);
// find the row with the specified attribute values
$post=Post::model()-&findByAttributes($attributes,$condition,$params);
// find the first row using the specified SQL statement
$post=Post::model()-&findBySql($sql,$params);
假设我们查询postID = 10的数据,怎么查询呢,见下面
&// find the row with postID=10
$post=Post::model()-&find('postID=:postID', array(':postID'=&10));
条件$condition 就是我们sql里的where部分,那参数怎么办呢,通过params传递,不过名字是加了&:&的。
YII有个CDbCriteria类来构造查询,如果我们查询postId为10的title,CdbCriteria是这样构造的
$criteria=new CDbC
$criteria-&='title';& // only select the 'title' column
$criteria-&condition='postID=:postID';
$criteria-&params=array(':postID'=&10);
$post=Post::model()-&find($criteria); // $params is not needed
&你也可以写成下面这样
$post=Post::model()-&find(array(
&&& 'select'=&'title',
&&& 'condition'=&'postID=:postID',
&&& 'params'=&array(':postID'=&10),
findByAttributes 里的
$attributes就是字段的名字.
查询title为abc怎么查询呢?见下面
Post::model()-&findByAttributes(array('title'=&'abc'))
&其它方法:
1、$admin=Admin::model()-&findAll($condition,$params);&&&
该方法是根据一个条件查询一个集合,如:
findAll(&username=:name&,array(&:name&=&$username));&&&
2、$admin=Admin::model()-&findAllByPk($postIDs,$condition,$params);
findAllByPk($id,&name like ':name' and age=:age& ,array(':name'=&$name,'age'=&$age));&&&
该方法是根据主键查询一个集合,可以使用多个主键,如:
findAllByPk(array(1,2));
3、$admin=Admin::model()-&findAllByAttributes($attributes,$condition,$params);
该方法是根据条件查询一个集合,可以是多个条件,把条件放到数组里面,如:
findAllByAttributes(array('username'=&'admin'));
4、$admin=Admin::model()-&findAllBySql($sql,$params);
该方法是根据SQL语句查询一个数组,如:
findAllBySql(&select *from admin where username=:name&,array(':name'=&'admin'));
-----------------------------------------------------------------------------
二、查询对像的方法
1、$admin=Admin::model()-&findByPk($postID,$condition,$params);
根据主键查询出一个对象,如:findByPk(1);
2、$row=Admin::model()-&find($condition,$params);
根据一个条件查询出一组数据,可能是多个,但是他只返回第一行数据,如:
find('username=:name',array(':name'=&'admin'));
3、$admin=Admin::model()-&findByAttributes($attributes,$condition,$params);
该方法是根据条件查询一组数据,可以是多个条件,把条件放到数组里面,他查询的也是第一条数据,如:
findByAttributes(array('username'=&'admin'));
4、$admin=Admin::model()-&findBySql($sql,$params);
该方法是根据SQL语句查询一组数据,他查询的也是第一条数据,如:
findBySql(&select *from admin where username=:name&,array(':name'=&'admin'));
5、拼一个获得SQL的方法,在根据find查询出一个对象
$criteria=new CDbC
$criteria-&select='username';& // only select the 'title' column
$criteria-&condition='username=:username';
$criteria-&params=array(':username=&'admin');
$post=Post::model()-&find($criteria); // $params is not needed
------------------------------------------------------------------------------
三、查询个数,判断查询是否有结果
1、$n=Post::model()-&count($condition,$params);
该方法是根据一个条件查询一个集合有多少条记录,返回一个int型数字,如
count(&username=:name&,array(&:name&=&$username));&&&
2、$n=Post::model()-&countBySql($sql,$params);
该方法是根据SQL语句查询一个集合有多少条记录,返回一个int型数字,如
countBySql(&select *from admin where username=:name&,array(':name'=&'admin'));
3、$exists=Post::model()-&exists($condition,$params);
该方法是根据一个条件查询查询得到的数组有没有数据,如果有数据返回一个true,否则没有找到
=================================================
四、添加的方法
$admin=new A&&&&&
$admin-&username=$
$admin-&pass=$
if($admin-&save()&0){
& echo &添加成功&;
& echo &添加失败&;
=============================================
五、修改的方法
1、Post::model()-&updateAll($attributes,$condition,$params);
$count = Admin::model()-&updateAll(array('username'=&'11111','password'=&'11111'),'password=:pass',array(':pass'=&'1111a1'));
if($count&0){
& echo &修改成功&;
& echo &修改失败&;
2、Post::model()-&updateByPk($pk,$attributes,$condition,$params);
$count = Admin::model()-&updateByPk(1,array('username'=&'admin','password'=&'admin'));
$count = Admin::model()-&updateByPk(array(1,2),array('username'=&'admin','password'=&'admin'),'username=:name',array(':name'=&'admin'));
if($count&0){
& echo &修改成功&;
& echo &修改失败&;
$pk代表主键,可以是一个也可以是一个集合,$attributes代表是要修改的字段的集合,$condition代表条件,$params传入的值
3、Post::model()-&updateCounters($counters,$condition,$params);
$count =Admin::model()-&updateCounters(array('status'=&1),'username=:name',array(':name'=&'admin'));
if($count&0){
& echo &修改成功&;
& echo &修改失败&;
array('status'=&1)代表中的admin表根据条件username='admin',查询出的所有结果status字段都自加1
==================================================
六、删除的方法
1、Post::model()-&deleteAll($condition,$params);
$count = Admin::model()-&deleteAll('username=:name and password=:pass',array(':name'=&'admin',':pass'=&'admin'));
&&&&& $id=1,2,3
&&&&& deleteAll('id in(&.$id.&)');删除id为这些的数据
if($count&0){
& echo &删除成功&;
& echo &删除失败&;
2、Post::model()-&deleteByPk($pk,$condition,$params);
$count = Admin::model()-&deleteByPk(1);
$count = Admin::model()-&deleteByPk(array(1,2),'username=:name',array(':name'=&'admin'));
if($count&0){
& echo &删除成功&;
& echo &删除失败&;
上一页: &&&&&下一页:相关内容Yii查询怎么返回结果的条数_百度知道Yii查询怎么返回结果的条数_百度知道

我要回帖

更多关于 yii关联查询返回json 的文章

 

随机推荐