设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
ThinkPHP查询中的魔术方法简述
返回列表
查看:
2040
|
回复:
0
ThinkPHP查询中的魔术方法简述
[复制链接]
xgnic
当前离线
积分
11142
3444
主题
3465
帖子
1万
积分
管理员
积分
11142
发消息
电梯直达
楼主
发表于 2018-2-14 05:56:57
|
只看该作者
|
倒序浏览
|
阅读模式
我们在使用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的魔术方法__get()和__set()使用介绍
php魔术方法与魔术变量、内置方法与内置变量的深入分析
深入PHP5中的魔术方法详解
php中的常用魔术方法总结
php面向对象中的魔术方法中文说明
PHP类中的魔术方法(Magic Method)简明总结
PHP 5.3新增魔术方法__invoke概述
PHP魔术方法__GET、__SET使用实例
PHP魔术方法__ISSET、__UNSET使用实例
PHP中的魔术方法总结和使用实例
php中的常用魔术方法汇总
php魔术方法功能与用法实例分析
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端