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中在数据库中保存Checkbox数据(1)
Oct 09 PHP
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
Oct 09 PHP
由php的call_user_func传reference引发的思考
Jul 23 PHP
一个PHP缓存类代码(附详细说明)
Jun 09 PHP
PHP遍历数组的几种方法
Mar 22 PHP
PHP中SESSION使用中的一点经验总结
Mar 30 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
php实现微信公众号无限群发
Oct 11 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
Yii2框架实现登陆添加验证码功能示例
Jul 12 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 PHP
PHP实现创建一个RPC服务操作示例
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
B2K与车机的中波PK
2021/03/02 无线电
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
js实现常用排序算法
2016/08/09 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
js实现倒计时关键代码
2017/05/05 Javascript
vue-cli webpack2项目打包优化分享
2018/02/07 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
python调用百度语音REST API
2018/08/30 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
利用Python检测URL状态
2019/07/31 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
python3 求约数的实例
2019/12/05 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
自我鉴定思想方面
2013/10/07 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
要账委托书范本
2014/09/15 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
python实现MD5进行文件去重的示例代码
2021/07/09 Python