php - 如何在laravel中查询后仅显示集合的某些字段
问题描述
我有一个如下查询:
$orders = Order::where('somefield', 12)->paginate(5)->groupBy('group_id');
foreach ($orders as $order) {
$order->put('shop', $order->groupBy('shop_id'));
}
现在我想做的是从$order
商店中删除所有字段,这就是我这样做的方式:
$orders = Order::where('somefield', 12)->paginate(5)->groupBy('group_id');
foreach ($orders as $order) {
$order->put('shop', $order->groupBy('shop_id'));
collect($order)->only('shop');
}
因此,当我在$order
这里添加时,它仅显示商店索引,但是当我返回时,$orders
它会返回所有数据。知道我做错了什么吗?
解决方案
在您的查询中使用select()
Like :->select('your wanted field')
或者您也可以这样做:
$subset = $users->map(function ($user) {
return collect($user->toArray())
->only(['id', 'name', 'email'])
->all();
});
推荐阅读
- javascript - 如何将 html、js 滑块插入 .php
- apollo-client - 如何使用 apollo-angular-graphql 上传文件?
- r - 更改特定组的 summarize() 计算
- python - 不应该发生的 Python 错误
- awk - 带有可变输入的 AWK 输出字符串
- javascript - 为什么 css url() 函数会破坏我的路径?
- c# - C# Singleton in a using 语句 - 在 using 语句结束时 Singleton 会发生什么
- reactjs - 开玩笑/酶测试事件侦听器已删除
- npm - Angular 5 CLI 中的引导程序 4 css 文件
- java - 从 JSON 响应中获取所有记录