Yii使用find findAll查找出指定字段的实现方法


Posted in PHP onSeptember 05, 2014

本文以实例形式展示了Yii使用find findAll查找出指定字段的实现方法,分享给大家供大家参考之用。具体方法如下:

总所周知,采用如下方法:

modelName::model() -> find()  //找出的是一个对象
modelName::model() -> findALL()//找出的是一个对象集合的数组

可以找出对象与对象集合的数组,那么如何找出我所需要的字段的数据,而不是全部字段的数据呢?之前我是这么做的:

$criteria = new CDbCriteria;
$criteria->select = 'username,id,email';
$criteria->order = 'id DESC';
$users = modelName::model()->findAll( $criteria );

后台无意中看到别人有这么写的,方法很不错:

$users = modelName::model()->findAll(array(
  'select' =>array('username','id','email'),
  'order' => 'id DESC', 
));

测试后发现果然可以用,那么find也可以这么操作:

$user = modelName::model()->find(array(
  'select' =>array('username','id','email'),
  'order' => 'id DESC',
  'condition' => 'id='.$id,
));

当然了,这么做肯定不安全了,换成下面的方法同样可以:

$users = $this->user->find(array(
  'select'=>array('id','username','email'),
  'order' => 'id DESC',
  'condition' => 'state=:state AND id=:id',
  'params' => array(':state'=>'1',':id' => '2'),
));

同理用findAll测试了也可以。

结论:

通过这种方法能够很方便的获取所需要的数据,当然需要分页的时候还是 需要 new 一下 CDbCriteria 的。

希望本文所述对大家采用Yii进行数据库程序设计能有所帮助。

PHP 相关文章推荐
将数字格式的计算结果转为汉字格式
Oct 09 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
分享一个PHP数据流应用的简单例子
Jun 01 PHP
smarty实现多级分类的方法
Dec 05 PHP
PHP里的单例类写法实例
Jun 25 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 PHP
ThinkPHP中调用PHPExcel的实现代码
Apr 08 PHP
Laravel5.5新特性之友好报错以及展示详解
Aug 13 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
May 14 PHP
PHP7 list() 函数修改
Mar 09 PHP
如何让thinkphp在模型中自动完成session赋值小教程
Sep 05 #PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
Sep 04 #PHP
Chrome Web App开发小结
Sep 04 #PHP
Yii查询生成器(Query Builder)用法实例教程
Sep 04 #PHP
php设计模式之简单工厂模式详解
Sep 04 #PHP
Laravel框架表单验证详解
Sep 04 #PHP
Laravel框架中扩展函数、扩展自定义类的方法
Sep 04 #PHP
You might like
基于mysql的bbs设计(四)
2006/10/09 PHP
PHP函数in_array()使用详解
2014/08/20 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
php获取网页上所有链接的方法
2015/04/03 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
js 小数取整的函数
2010/05/10 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
使用async-validator编写Form组件的方法
2018/01/10 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
在Python中用keys()方法返回字典键的教程
2015/05/21 Python
python使用pycharm环境调用opencv库
2018/02/11 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
后勤副校长自我鉴定
2013/10/13 职场文书
创业资金计划书
2014/02/06 职场文书
员工安全生产承诺书
2014/05/22 职场文书
推广活动策划方案
2014/08/23 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL