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快速url重写更新版[需php 5.30以上]
Apr 25 PHP
php smarty 二级分类代码和模版循环例子
Jun 01 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
Feb 17 PHP
关于PHP语言构造器介绍
Jul 08 PHP
PHP COOKIE及时生效的方法介绍
Feb 14 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
Apr 08 PHP
Yii中表单用法实例详解
Jan 05 PHP
php 实现301重定向跳转实例代码
Jul 18 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
基于swoole实现多人聊天室
Jun 14 PHP
PHP的mysqli_rollback()函数讲解
Jan 23 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产生随机字符串函数
2006/12/06 PHP
PHP 模板高级篇总结
2006/12/21 PHP
PHP输出时间差函数代码
2013/01/28 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
form中限制文本字节数js代码
2007/06/10 Javascript
js 页面输出值
2008/11/30 Javascript
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
vue实现评论列表功能
2019/10/25 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
JS实现简易计算器
2020/02/14 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
Python中内置的日志模块logging用法详解
2016/07/12 Python
Python提取网页中超链接的方法
2016/09/18 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
python中time tzset()函数实例用法
2021/02/18 Python
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
绿色环保口号
2014/06/12 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python