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 相关文章推荐
smarty section简介与用法分析
Oct 03 PHP
ie6 动态缩略图不显示的原因
Jun 21 PHP
PHP下通过file_get_contents的代理使用方法
Feb 16 PHP
防止用户利用PHP代码DOS造成用光网络带宽
Mar 01 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
Dec 30 PHP
基于Linux调试工具strace与gdb的常用命令总结
Jun 03 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
destoon之一键登录设置
Jun 21 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
PHP面向对象自动加载机制原理与用法分析
Oct 14 PHP
PHP 进度条函数的简单实例
Sep 19 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 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
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
vue axios同步请求解决方案
2017/09/29 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
简单实现python进度条脚本
2017/12/18 Python
Python爬虫中urllib库的进阶学习
2018/01/05 Python
python中字符串内置函数的用法总结
2018/09/13 Python
python自动生成model文件过程详解
2019/11/02 Python
对python中return与yield的区别详解
2020/03/12 Python
Python3基于print打印带颜色字符串
2020/07/06 Python
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
档案检查欢迎词
2014/01/13 职场文书
铁路安全事故反思
2014/04/26 职场文书
软环境建设心得体会
2014/09/09 职场文书
销售经理工作检讨书
2015/02/19 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python