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之面向对象
May 15 PHP
提升PHP性能的21种方法介绍
Jun 25 PHP
php阻止页面后退的方法分享
Feb 17 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
Nov 18 PHP
php curl登陆qq后获取用户信息时证书错误
Feb 03 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 PHP
php调用自己java程序的方法详解
May 13 PHP
thinkPHP批量删除的实现方法分析
Nov 09 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 PHP
PHP终止脚本运行三种实现方法详解
Sep 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
js下函数般调用正则的方法附代码
2008/06/22 PHP
深入apache host的配置详解
2013/06/09 PHP
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
php实现上传图片文件代码
2015/07/19 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
2017/03/04 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
举例讲解Python常用模块
2019/03/08 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
如何处理简单的PHP错误
2015/10/14 面试题
学年自我鉴定范文
2013/10/01 职场文书
家长给孩子的评语
2014/01/30 职场文书
小学教师师德反思
2014/02/03 职场文书
大学生学年自我鉴定
2014/02/10 职场文书
旅游市场营销方案
2014/03/09 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
幼儿学前班评语
2014/12/29 职场文书
mysql sql常用语句大全
2022/06/21 MySQL