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.ini 中文版
Oct 28 PHP
使用PHP编写的SVN类
Jul 18 PHP
对淘宝URL中ID提取的PHP代码
Sep 01 PHP
php实现可以设置中奖概率的抽奖程序代码分享
Jan 19 PHP
php计算一个文件大小的方法
Mar 30 PHP
PHP生成各种常见验证码和Ajax验证过程
Jan 10 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
php-beanstalkd消息队列类实例分享
Jul 19 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
May 13 PHP
PHP 模拟登陆功能实例详解
Sep 10 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
PHP生成随机密码类分享
2014/06/25 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
写js时遇到的一些小问题
2010/12/06 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
Python 条件判断的缩写方法
2008/09/06 Python
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
20行python代码实现人脸识别
2019/05/05 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
python语言是免费还是收费的?
2020/06/15 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
方正Java笔试题
2014/07/03 面试题
医药专业推荐信
2013/11/15 职场文书
体育专业学生自我评价范文
2014/01/17 职场文书
初级会计求职信范文
2014/02/15 职场文书
机房搬迁方案
2014/05/01 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
英语教师个人总结
2015/02/09 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
创业计划书之个人工作室
2019/08/22 职场文书