ORM 如何不用循环只返回表中单列的数组集合 - pluck
与前端的交互或特定场景中(apahe/echarts),有个常用的交互场景,比如前端需要展示所有用户的姓名,不需要展示用户的其他信息,那我们可以直接使用以下伪代码来实现:
$users = User::all()->paginate(15);
但是这样会给前端返回很多无用的信息,比如 email 等,那么可以增加select
或者使用API 资源 resource
来解决,但是这两种方式都会给前端返回一个二维数组,前端一定更喜欢返回一个一维数组,直接循环显示就可以了。
之前我都是使用上面的方法,然后在二次循环,构造一个一维数组的,今天偶然发现了 pluck
方法,这个是在辅助函数–数组下看到的,后来在数据库文档中也发现了,有了他就方便多了,直接获取单列的数据,还是一维数组。
$userNames = User::oldest()->pluck('name')->toArray();
感觉之前的方式好差劲,赶紧悄悄的都改成了这种方式,总结起来,还是文档看的少了。
本作品采用《CC 协议》,转载必须注明作者和本文链接
没事就多多翻看文档,你会时不时发现意外惊喜 :joy: