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 相关文章推荐
利用static实现表格的颜色隔行显示
Oct 09 PHP
深入file_get_contents与curl函数的详解
Jun 25 PHP
php遍历类中包含的所有元素的方法
May 12 PHP
10个php函数实用却不常见
Oct 13 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
Jan 08 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
Feb 23 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
示例详解Laravel的注册重构
Aug 14 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 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的分页功能
2007/03/21 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
基于LayUI实现前端分页功能的方法
2017/07/22 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python操作文件的参数整理
2019/06/11 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
信号生成及DFT的python实现方式
2020/02/25 Python
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
《大海那边》教学反思
2014/04/09 职场文书
小学教师师德承诺书
2014/05/23 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
社区助残日活动总结
2014/08/29 职场文书
党课心得体会范文
2014/09/09 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
社区文明倡议书
2015/04/28 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
JS实现扫雷项目总结
2021/05/19 Javascript
MySQL修炼之联结与集合浅析
2021/10/05 MySQL