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 相关文章推荐
Apache设置虚拟WEB
Oct 09 PHP
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
php中iconv函数使用方法
May 24 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
用Simple Excel导出xls实现方法
Dec 06 PHP
php学习笔记之面向对象编程
Dec 29 PHP
PHP查询网站的PR值
Oct 30 PHP
PHP中替换键名的简易方法示例详解
Jan 07 PHP
PHP实现合并discuz用户
Aug 05 PHP
PHP判断密码强度的方法详解
May 26 PHP
PHP实现模拟http请求的方法分析
Dec 20 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调用Java对象的方法
2006/10/09 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
动态加载js的几种方法
2006/10/23 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
详解js类型判断
2018/05/22 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
推荐下python/ironpython:从入门到精通
2007/10/02 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
Python爬虫设置代理IP的方法(爬虫技巧)
2018/03/04 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
python调用百度REST API实现语音识别
2018/08/30 Python
django自带调试服务器的使用详解
2019/08/29 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
在职人员函授期间自我评价分享
2013/11/08 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
房屋转让协议书
2014/04/11 职场文书
我的画教学反思
2014/04/28 职场文书
学校安全生产承诺书
2014/05/23 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python