找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2037|回复: 0
打印 上一主题 下一主题

ThinkPHP查询中的魔术方法简述

[复制链接]

3444

主题

3465

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
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好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端