【发布时间】:2021-06-04 17:43:16
【问题描述】:
我想根据距离获取用户列表,并在用户数据库中以 json 格式存储用户图像。当我使用DB::table 时,它以字符串而不是数组的形式返回。
请帮帮我。
我的控制器:
$doc = DB::table( 'users' )
->select(
'id',
'name',
'image',
'latitude',
'longitude' )
->selectRaw( "{$getDistance} AS distance" )
->orderBy( 'distance' )
->get();
当前 JSON 响应:
{
"name": "User One",
"image": "[\"f0f159c7238b8c9a1a3e5c9bd48de2a5cJ8Y4ssqzcuoWJAS1614581337EC2fGzmRCjf9wphI.webp\",
\"f0f159c7238b8c9a1a3e5c9bd48de2a5tvof9EarZgvupGpa1614581337zvPSnQchCjSL9lZS.webp\"]",
}
我想得到什么:
{
"name": "User One",
"image": ["f0f159c7238b8c9a1a3e5c9bd48de2a5cJ8Y4ssqzcuoWJAS1614581337EC2fGzmRCjf9wphI.webp",
"f0f159c7238b8c9a1a3e5c9bd48de2a5tvof9EarZgvupGpa1614581337zvPSnQchCjSL9lZS.webp"],
}
【问题讨论】:
-
如何在控制器中返回 json?
-
可能是因为距离,你只要这样做 $doc = DB::table( 'users' ) ->select( 'id', 'name', 'image', 'latitude' , 'longitude' ) ->get();然后检查你得到了什么
-
为什么不使用 Eloquent ORM 查询?