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备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
php加密解密函数authcode的用法详细解析
Oct 28 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 PHP
php导入大量数据到mysql性能优化技巧
Dec 29 PHP
php+xml实现在线英文词典查询的方法
Jan 23 PHP
php实现的验证码文件类实例
Jun 18 PHP
带你了解PHP7 性能翻倍的关键
Nov 19 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 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
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
Python跳出循环语句continue与break的区别
2014/08/25 Python
python字典快速保存于读取的方法
2018/03/23 Python
Python格式化输出%s和%d
2018/05/07 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
模具专业推荐信
2013/10/30 职场文书
毕业生找工作推荐信
2013/11/21 职场文书
西式婚礼证婚词
2014/01/12 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
文化建设工作方案
2014/05/12 职场文书
优秀班主任先进事迹材料
2014/12/16 职场文书
高二语文教学反思
2016/02/16 职场文书
Python django中如何使用restful框架
2021/06/23 Python