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中一个控制字符串输出的函数
Oct 09 PHP
php利用header函数实现文件下载时直接提示保存
Nov 12 PHP
抓取并下载CSS中所有图片文件的php代码
Sep 26 PHP
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
php获取汉字首字母的函数
Nov 07 PHP
destoon二次开发常用数据库操作
Jun 21 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
Dec 17 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
浅谈php fopen下载远程文件的函数
Nov 18 PHP
在laravel中使用with实现动态添加where条件
Oct 10 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编程效率 引入缓存机制提升性能
2010/02/15 PHP
php自动获取关键字的方法
2015/01/06 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
Yii-自定义删除确认弹框(zyd)jquery实现代码
2013/03/04 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
js实现文字在按钮上滚动的方法
2015/08/20 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
js密码强度校验
2015/11/10 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
Django框架视图层URL映射与反向解析实例分析
2019/07/29 Python
在keras里实现自定义上采样层
2020/06/28 Python
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
关爱残疾人演讲稿
2014/05/24 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
人力资源职位说明书
2014/07/29 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python