php - 难以从 PHP 服务器端返回正确的格式到 Vue 前端
问题描述
我的目标是对具有纬度和经度记录的数据库进行 GET axios/ajax 调用,然后将每条记录的 2 个纬度和经度组合成一个 JSON 对象,其格式为{lat: 20, lng: 20}
. 目前我有这个:
public function getLocations(Request $request){
$locations = Location::where('user_id', 1)->get()->toJson();
return response()->json([
'locations' => $locations,
'message' => 'Successfully added locations!'
], 201);
}
我需要以某种方式传递一个 json 对象数组。我相信它应该是这样的:
$locations = [ {lat: 10, lng: 10},
{lat: 11, lng: 11},
{lat: 12, lng: 12}
]
$locations 中的每条记录都有一个 JSON 对象。lat 和 lng 位于 $locations。例如 $locations->lat 和 $locations->lng。我将如何创建这样一个可以在前端使用的对象?
[{"id":40,"user_id":1,"lat":42,"lng":24,"created_at":"2019-01-16 10:14:40","updated_at":"2019-01-16 10:14:40"},
{"id":41,"user_id":1,"lat":43,"lng":25,"created_at":"2019-01-16 10:14:41","updated_at":"2019-01-16 10:14:41"}]
解决方案
你可以这样做:
public function getLocations(Request $request){
$locations = Location::where('user_id', 1)->get();
$locationsData= [];
foreach ($locations as $location) {
$locationsData[] = ['lat' => $location->lat, 'lng' => $location->lng];
}
return response()->json([
'locations' => $locationsData,
'message' => 'Successfully added locations!'
], 201);
}
推荐阅读
- kubernetes-helm - 掌舵搜索功能未从回购中获取结果
- python-3.x - 根据第二个列表的值拆分列表
- iframe - 从 iframe src 获取链接
- pandas - 以字符串形式计数并存储映射到其他值
- ruby-on-rails - Rails 是否支持带有方法 post 的 link_to?
- python - 如何使用 scipy.brentq 函数,使其等效于帕斯卡代码?
- matlab - 插入 LaTeX 时,MATLAB 图形的大小不同(尽管使用相同的代码生成)
- mongodb - 仅使用 Meteor.JS 中的数据层
- ios - SwiftUI 在圆角矩形内屏蔽一个矩形
- webdriver-io - WebDriverIO:browser.pause 不起作用