前言

今天用到了laravel的pluck功能,就顺便记录下来。

pluck是获取所读取的数据一列或者两列的方法。

一、获取一列代码如下:

->pluck('pic_url') ;

结果如下:

Collection {#
#items: array:8 [
0 => "f3/0a/f30adf9b859fe7289717aa9267ed04b1.jpg"
1 => "f3/0a/f30adf9b859fe7289717aa9267ed04b1.jpg"
2 => "cd/05/cd057a51be41618f65dc17da24ba28a4.jpg"
3 => "cd/05/cd057a51be41618f65dc17da24ba28a4.jpg"
4 => "0c/36/0c363cf7e2f41812b9e8cb5a1823ef64.jpg"
5 => "0c/36/0c363cf7e2f41812b9e8cb5a1823ef64.jpg"
6 => "3b/64/3b64aa75b469090612c1f13b698e7195.png"
7 => "0a/c9/0ac9e6b10d46fb6c29869571fcceec8b.png"
]
}

二、获取两列代码如下:

->pluck('pic_url','id') ;

结果如下:

Collection {#
#items: array:8 [
1 => "f3/0a/f30adf9b859fe7289717aa9267ed04b1.jpg"
2 => "f3/0a/f30adf9b859fe7289717aa9267ed04b1.jpg"
3 => "cd/05/cd057a51be41618f65dc17da24ba28a4.jpg"
4 => "cd/05/cd057a51be41618f65dc17da24ba28a4.jpg"
5 => "0c/36/0c363cf7e2f41812b9e8cb5a1823ef64.jpg"
6 => "0c/36/0c363cf7e2f41812b9e8cb5a1823ef64.jpg"
15 => "3b/64/3b64aa75b469090612c1f13b698e7195.png"
16 => "0a/c9/0ac9e6b10d46fb6c29869571fcceec8b.png"
]
}

从中我们可以看到三个重点:

1. pluck的返回值是collection,要变成数组需要使用->toArray()、->all()

2. pluck中最多只能传两个变量

3. 两个变量中第一个为值,第二个为key。

三、那你可能又回产生疑问:如果我要获取三个以上的列怎么做呢?简单

->get(['pic_url','id','student_id']) ;

这里有三点要注意:

1. 关键词是get

2. get里面是数组,而不是直接的字段

3. 结果的返回值是collection

结果的返回值如下:

Collection {#
#items: array:8 [
0 => ClassRoomSnapShotModel {#
#connection: "quxuexi_merchant"
#table: "classroom_snapshot"
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:3 [
"pic_url" => "f3/0a/f30adf9b859fe7289717aa9267ed04b1.jpg"
"id" => 1
"student_id" => 22
]
#original: array:3 [
"pic_url" => "f3/0a/f30adf9b859fe7289717aa9267ed04b1.jpg"
"id" => 1
"student_id" => 22
]
#changes: []
#casts: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#hidden: []
#visible: []
#fillable: []
#guarded: array:1 [
0 => "*"
]
}
}

结语

九层之台,起于累土。千里之行,始于足下。骐骥一跃,不能十步。驽马十驾,功在不舍。在每个时间都做正确的事,然后时间会给你正确的答案。

pluck的返回值的更多相关文章

  1. socket读写返回值的处理

    在调用socket读写函数read(),write()时,都会有返回值.如果没有正确处理返回值,就可能引入一些问题 总结了以下几点 1当read()或者write()函数返回值大于0时,表示实际从缓冲 ...

  2. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  3. 由Dapper QueryMultiple 返回数据的问题得出==》Dapper QueryMultiple并不会帮我们识别多个返回值的顺序

    异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 今天帮群友整理Dapper基础教程的时候手脚快了点,然后遇到了一个小问题,Dapp ...

  4. C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解  ...

  5. Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值

    Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值,去属性表中设置这时候会提示你去属性表中更改返回类型. 其实存储过程返回的也是一张表,只不过有时候存储过程有点复杂或者写法不规范的话不能 ...

  6. SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改

    有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...

  7. 支持多返回值存储过程的SqlHelper

    public readonly string connStr = ConfigurationManager.ConnectionStrings["sql"].ConnectionS ...

  8. sql语句返回值的问题

    由于执行sql语句的时候执行成功或者失败会返回执行的影响函数,用list是因为查询的结果可能为null也可能set后放到集合里去: 所以返回值类型用int

  9. JsonResult作为Action返回值时的错误

    JsonResult作为Action返回值时的错误   System.InvalidOperationException: This request has been blocked because ...

随机推荐

  1. python 处理xml

    XML XML指可扩展标记语言(Extensible Markup Language) XML被设计用于结构化.存储和传输数据 XML是一种标记语言,很类似于HTML XML没有像HTML那样 ...

  2. 解决secureCRT 数据库里没有找到防火墙 '无' 此会话降尝试不通过防火墙进行连接。

    解决secureCRT 数据库里没有找到防火墙 '无' 此会话降尝试不通过防火墙进行连接.的方法 中文版的CRT由于汉化的问题(把null翻译成无了),导致每次打开都会有个防火墙的错误提示:数据库里没 ...

  3. 5+App使用定位

    1.定位方法     5+App定位方法:5+ API中的Geolocation模块     Geolocation目前支持h5内置的定位,百度,高德.h5内置定位支持wgs84坐标系:百度支持gcj ...

  4. Unity 使用C/C++ 跨平台终极解决方案(PC,iOS,Android,以及支持C/C++的平台)

    https://blog.csdn.net/fg5823820/article/details/47865741 PC的其实根本不用说,毕竟C#和C++交互的文章已经够多了,当然我自认为经过几次折腾后 ...

  5. (一)MySQL登录与退出

    mysql登陆: win+r输入cmd按enter进入命令行界面: > mysql -uroot -p -P3306 -h127.0.0.1 > 输入密码后按回车 mysql退出: mys ...

  6. 20135234mqy-——信息安全系统设计基础第五周学习总结

    程序的机器级表示 3.1 intel处理器系列俗称x86,经历了一开始个长期的,不断进化的发展过程. 开始时它是第一代单芯片,16位微处理器之一,由于当时集成电路技术水性有限,其中做了很多妥协,此后, ...

  7. [noip模拟题]LGTB 玩THD

    LGTB 最近在玩一个类似DOTA 的游戏名叫THD 有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面每个小兵有一定的血量hi,杀死后有一定的金钱gi 每一秒,他都可以攻击任意一个活着的 ...

  8. Linux内核分析--系统调用【转】

    本文转载自:http://www.cnblogs.com/paperfish/p/5308505.html 前言:以下笔记除了一些讲解视频中的概念记录,图示.图示中的补充文字.总结.分析.小结部分均是 ...

  9. IE6里样式表不起作用解决方法

    写的html页面引用外部css文件的时候在IE7,IE8和FF中能正常作用,即能正常显示,可在IE6中却完全没有作用到,即css文件里的样式根本未被解析到我们的html页面,这是什么原因? 开 始把c ...

  10. 再谈树---无根树转有根树( dfs搜索转化+fa数组记录父节点) *【模板】

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <vector> ...