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 相关文章推荐
桌面中心(一)创建数据库
Oct 09 PHP
php strcmp使用说明
Apr 22 PHP
JS中encodeURIComponent函数用php解码的代码
Mar 01 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
thinkphp 多表 事务详解
Jun 17 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
Jun 20 PHP
php socket实现的聊天室代码分享
Aug 16 PHP
thinkphp实现发送邮件密码找回功能实例
Dec 01 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
Laravel程序架构设计思路之使用动作类
Jun 07 PHP
PHP树形结构tree类用法示例
Feb 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 金额数字转换成英文
2010/05/06 PHP
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
php分页查询的简单实现代码
2017/03/14 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
jquery中获取select选中值的代码
2011/06/27 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
javascript Promise简单学习使用方法小结
2016/05/17 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
实例浅析js的this
2016/12/11 Javascript
JavaScript Base64 作为文件上传的实例代码解析
2017/02/14 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
Python中的pass语句使用方法讲解
2015/05/14 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
Python列表(List)知识点总结
2019/02/18 Python
python制作抖音代码舞
2019/04/07 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
J2EE中常用的名词进行解释
2015/11/09 面试题
淘宝好评语大全
2014/05/05 职场文书
财务检查整改报告
2014/11/06 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
社会实践活动总结格式
2015/05/11 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js