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 相关文章推荐
安装APACHE
Jan 15 PHP
PHP 危险函数解释 分析
Apr 22 PHP
如何利用PHP执行.SQL文件
Jul 05 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
PHP用PDO如何封装简单易用的DB类详解
Jul 30 PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 PHP
PHP中的自动加载操作实现方法详解
Aug 06 PHP
Laravel 框架返回状态拦截代码
Oct 18 PHP
设定php简写功能的方法
Nov 28 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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检测图片木马多进制编程实践
2013/04/11 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
Yii rules常用规则示例
2016/03/15 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
php实现数字补零的方法总结
2018/09/12 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
JavaScript的Function详细
2006/11/14 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
js图片轮播插件的封装
2017/07/21 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
原生JS实现的双色球功能示例
2018/02/02 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
python图形用户接口实例详解
2019/12/16 Python
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
腾讯公司的一个sql题
2013/01/22 面试题
参观考察邀请函范文
2014/01/29 职场文书
股权收购意向书
2014/04/01 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
公司感谢信范文
2015/01/22 职场文书
故宫英文导游词
2015/01/31 职场文书
青年教师个人总结
2015/02/11 职场文书
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技