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 相关文章推荐
基于mysql的bbs设计(二)
Oct 09 PHP
PHP邮件发送类PHPMailer用法实例详解
Sep 22 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
PHP SOCKET编程详解
May 22 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
PHP实现导出excel数据的类库用法示例
Oct 15 PHP
PHP 常用时间函数资料整理
Oct 22 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
Jun 09 PHP
Yii2 如何在modules中添加验证码的方法
Jun 19 PHP
laravel 解决强制跳转 https的问题
Oct 22 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
PHP控制循环操作的时间
Apr 01 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
php数组编码转换示例详解
2014/03/11 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
2014/06/23 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
JS实现简易计算器
2020/02/14 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
Vue开发中常见的套路和技巧总结
2020/11/24 Vue.js
[04:45]DOTA2-DPC中国联赛正赛 iG vs LBZS 赛后选手采访
2021/03/11 DOTA
python写的ARP攻击代码实例
2014/06/04 Python
Python中实现常量(Const)功能
2015/01/28 Python
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
Python列表切片操作实例总结
2019/02/19 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
两道JAVA笔试题
2016/09/14 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
应届硕士毕业生自荐信
2014/05/26 职场文书
敬老院标语
2014/06/27 职场文书
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL