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下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
用来解析.htgroup文件的PHP类
Sep 05 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
Dec 14 PHP
php注册登录系统简化版
Dec 28 PHP
Yii核心验证器api详解
Nov 23 PHP
php实现36进制与10进制转换功能示例
Jan 10 PHP
PHP实现对xml的增删改查操作案例分析
May 19 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
Jun 05 PHP
PHP7内核CGI与FastCGI详解
Apr 14 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 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数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
javascript动态控制服务器控件实例
2014/09/05 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
2018/03/01 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
python中学习K-Means和图片压缩
2017/11/20 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
解析Python3中的Import
2019/10/13 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
英国航空官网:British Airways
2016/09/11 全球购物
某同学的自我鉴定范文
2013/12/26 职场文书
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
电子邮箱格式怎么写
2014/01/12 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
个人工作总结范文2014
2014/11/07 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL