ThinkPHP查询中的魔术方法简述


Posted in PHP onJune 25, 2014

我们在使用thinkphp开发的时候,有时候会用到getById('1')这个方法快速的获取一条信息的内容,这个方法比用where(" id =1 ")->find()好用多了,同时查询效率也比find快速。

很多人在刚开始接触这个方法的时候,没有多留意它的内部实现机制,仅仅认为是通过id来获取信息,而事实并非如此。
例如有的系统里存在getByTitle("nihao")、getByMoney('1000')这类方法,这些与刚才提到的getById('1')很相似,同时实现的功能原理也与getById('1')一样。
其实类似这种getById($id)、getByTitle($title)、getByUserName($username)等等,以“getBy+字段”的方法有个专有名词叫做“魔术方法”它后面的字段可以是数据表中的任何一个字段,返回结果只能是查询出来的第一条数据,这种方法查询的效率很高,很好记住。
有时候我们的字段不是连起来的,例如:user_name 这样子的字段,我们是不是这样子写(getByUser_name($name))呢?答案是否定的,thinkphp中不支持这样子的方法,我们需要使用驼峰法来命名,应该写成这样 getByUserName($name)就可以了!

PHP 相关文章推荐
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
PHP图片上传代码
Nov 04 PHP
Php连接及读取和写入mysql数据库的常用代码
Aug 11 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
May 16 PHP
PHP 将dataurl转成图片image方法总结
Oct 14 PHP
php修改数组键名的方法示例
Apr 15 PHP
Yii框架分页实现方法详解
May 20 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 #PHP
Zend Framework页面缓存实例
Jun 25 #PHP
非常好用的Zend Framework分页类
Jun 25 #PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 #PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 #PHP
PHP内置过滤器FILTER使用实例
Jun 25 #PHP
PHP生成图片验证码、点击切换实例
Jun 25 #PHP
You might like
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
php数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PHP文件锁定写入实例解析
2014/07/14 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
php中smarty区域循环的方法
2015/06/11 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
广告显示判断
2006/08/31 Javascript
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
javascript history对象详解
2017/02/09 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
python一些性能分析的技巧
2020/08/30 Python
倩碧英国官网:Clinique英国
2018/08/10 全球购物
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
卫校中专生个人自我评价
2013/09/19 职场文书
历史教育专业个人求职信
2013/12/13 职场文书
大学生秋游活动方案
2014/02/17 职场文书
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
档案信息化建设方案
2014/05/16 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python