【问题标题】:How to return single object from collection in Laravel API如何从 Laravel API 中的集合中返回单个对象
【发布时间】:2021-07-10 01:29:29
【问题描述】:

我正在使用 Laravel 创建一个 API,我需要在其中返回类似的内容。

"course": {
        "English": "99",
        "Math": "67",
        "Foo": "30",
    },

我有雄辩的关系,返回集合。我无法创建所需的输出。

$courses = Course::where('status','active')->get();

This is what i have tried.

course_arr = [];
foreach($courses as $course){
     
            $course_arr[] = array($course->name => $course->marks);
}

return response()->json([
      "course" => (object)$course_arr,
    ],200);

// Output which i am getting.
"GameId": {
    "0": {
        "English": "89"
    },
    "1": {
        "Math": "77"
    },
  
},

你们能帮我解决这个问题吗? 谢谢。

【问题讨论】:

  • 推送一个键值对而不是 container[name] = mark 像这样
  • @Kevin 你能详细说明一下吗?我没明白
  • 目前,您正在将数组的另一部分推入数组中:array[] = [another]。你真正需要的只是一个平面阵列。 myarray[mykeyhere] = myvalue
  • 这正是我所需要的。谢谢@Kevin。如果可以,请在此处发布答案,这也可能对其他人有所帮助

标签: php laravel api


【解决方案1】:

以下代码将满足您的要求。

$courses = Course::where('status', 'active')->pluck('marks', 'name');

return response()->json([
    'course' => $courses
]);

【讨论】:

    猜你喜欢
    • 2012-04-21
    • 2020-01-05
    • 2018-06-02
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多