引用白俊遥总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景

thinkphp作为国内现阶段使用比较广泛的框架;

不得不说是有好些特别方便的方法的;

然而如果初接触thinkphp的时候难免会被搞的有点迷茫;

for example这些:

getBy

getField

getFieldBy

我曾在相当一段时间内都用的迷迷糊糊的;

直到后来把它们总结如下:

咱先虚拟一张表出来


引用白俊遥总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景_第1张图片

一:现在我们要获取姓名为 白俊遥 的这条数据;

常规情况是这样写的;

如果用getby的话就可以简化为


引用白俊遥总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景_第2张图片

官方详细文档:http://document.thinkphp.cn/manual_3_2.html#dynamic_query

总结就是说;getBy后边是要跟一个字段的;

我们也发现了;上面获取到的都是整条整条的数据;

二:然而实际开发中;很多时候我们是想通过用户名:白俊遥 找到他的头像:bjy.jpg;

这时候就是getFieldBy的应用场景了;

常规情况是这样写的;

如果用getField的话可以简化为:

如果getFieldBy那简化的更残忍了:


官方详细文档:http://document.thinkphp.cn/manual_3_2.html#dynamic_query

总结就是说getFieldBy后面跟一个字段括号内有两个参数;第一个跟Field对应的条件;第二个是要取的字段;

三:通过头像名 shuaibai.jpg 获取使用这个头像的用户名 帅白、test

常规是这样写的:


如果getField的话就可以简化为:


引用白俊遥总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景_第3张图片

官方详细文档:http://document.thinkphp.cn/manual_3_2.html#read_data

总结就是说:getField是需要自己写where的;传的第一个参数就是需要获取的字段;

如果只获取一条值的时候不需要传第二个参数;如果有多个的话;则第二个参数传true;

更详细的用法偷个懒直接复制官方文档了:

读取字段值其实就是获取数据表中的某个列的多个或者单个数据,最常用的方法是getField方法。

示例如下:

默认情况下,当只有一个字段的时候,返回满足条件的数据表中的该字段的第一行的值。

如果需要返回整个列的数据,可以用:


如果传入多个字段的话,默认返回一个关联数组:

这样返回的list是一个数组,键名是用户的id字段的值,键值是用户的昵称nickname。

如果传入多个字段的名称,例如:


返回的是一个二维数组,类似select方法的返回结果,区别的是这个二维数组的键名是用户的id(准确的说是getField方法的第一个字段名)。

如果我们传入一个字符串分隔符:

那么返回的结果就是一个数组,键名是用户id,键值是nickname:email的输出字符串。

getField方法还可以支持限制数量,例如:


可以配合使用order方法使用;

更多的查询方法可以参考查询语言章节。


引用白俊遥总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景_第4张图片

你可能感兴趣的:(引用白俊遥总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景)