【发布时间】:2020-01-10 17:24:50
【问题描述】:
我正在尝试将 Json 响应作为对象数组返回。但相反,我得到了作为对象的响应。我有 condition_question 表,我在其中保存 question_id 和 condition_id。我想检索包含特定条件 ID 的所有问题。并按 answers_number 对它们进行排序。我是 Laravel 的新手,这是我的代码:
$conditionsIdArray = array($chosenConditionsIds);
$results = Question::whereIn('question_id', function ($query) use ($conditionsIdArray) {
$query->select('question_id')
->from('condition_question')
->whereIn('condition_id', $conditionsIdArray);
})->get()->sortByDesc('answers_number')->take(5);
return response()->json([
'questions' => $results
], 200);
我得到回应:
{
"questions": {
"0": {
"question_id": 842,
"question_title": "Qui tempora...",
"question_body": "Repellendus non sint...",
"image": "https://lorempixel.com/640/480/?18901",
"question_view_count": 17,
"votes_number": 9,
"answers_number": 9,
"id_user": 9930,
"created_at": "2019-09-07 09:59:05",
"updated_at": "2019-09-08 18:23:41"
},
"28": {
"question_id": 20346,
"question_title": "Quaerat facere...",
"question_body": "Repudiandae culpa ...",
"image": "https://lorempixel.com/640/480/?91963",
"question_view_count": 2,
"votes_number": 2,
"answers_number": 9,
"id_user": 3546,
"created_at": "2019-09-07 10:07:38",
"updated_at": "2019-09-07 10:07:38"
},etc
}
如你所见,我得到了一个有对象的对象。我不想要键/值,只是简单的对象类型问题数组。 我现在挣扎了两天,尝试了一些不同的东西,比如 toArray() 但不知道如何解决它。任何帮助都将受到欢迎。
【问题讨论】:
-
尝试将其编辑为
response()->json($results, 200) -
为什么返回为json?只是
return $results -
仍然无法正常工作。