我认为这是一件非常简单的事情,但我无法弄明白该怎么做。 我所做的基本上是这样的:
$ads= Ad::query()->select(['category_id', 'title', 'start_date'])->where(['account_id'=>$id])->get();
$ads= json_encode($ads);
return response()->json($ads, 200);
结果是:
"[{"category_id":1,"title":"Scacchi","start_date":1517982647},{"category_id":1,"title":"test test test","start_date":null}]"
这是一个字符串而不是有效的json,因为外部引号是由json()函数添加的,因为在json_encode之后的$ ads是一个有效的json。
如何防止这种奇怪的行为?
答案 0 :(得分:1)
直接退货;
$ads= Ad::query()->select(['category_id', 'title', 'start_date'])->where(['account_id'=>$id])->get();
return $ads;
应该是json,
UDPATE:
使用响应json,执行此操作:
return response()->json([
'data' => $ads
]);
答案 1 :(得分:0)
在response-> json()函数中应该有一个数组,所以你应该把你的结果转换成数组并传递给它。
$ ads = Ad :: query() - > select([' category_id',' title',' start_date']) - >其中([' ACCOUNT_ID' = GT; $ ID]) - >得到() - >指定者();
return response() - > json($ ads,200);