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 相关文章推荐
PHP,ASP.JAVA,JAVA代码格式化工具整理
Jun 15 PHP
PHP 第一节 php简介
Apr 28 PHP
通过curl模拟post和get方式提交的表单类
Apr 23 PHP
php事务处理实例详解
Jul 11 PHP
javascript some()函数用法详解
Nov 13 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
Discuz论坛密码与密保加密规则
Dec 19 PHP
lnmp安装多版本PHP共存的方法详解
Aug 02 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
JavaScript中的类继承
2010/11/25 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
js加强的经典分页实例
2013/03/15 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
axios post提交formdata的实例
2018/03/16 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
Python translator使用实例
2008/09/06 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
Django的性能优化实现解析
2019/07/30 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
python将图片转base64,实现前端显示
2020/01/09 Python
基于Python绘制个人足迹地图
2020/06/01 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
小学生作文评语
2014/04/18 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery