Laravel API资源(创建精确API的问题)

Matheen乌拉

我想以以下格式创建API。但是我做不到。我正在使用API​​资源。我尝试使用其他查询,但未获得确切的解决方案。请帮助我。

谢谢

我尝试过的

$marks = StudentMarksResource::collection(StudentsMark::whereIn('academic_id',$ids)->whereIn('student_id',$studentid)->get());

我的API资源文件

public function toArray($request)
{


    return [

        'exam_type' => $this->exam_type,
        'details' => [
                /*  'class_id' => Course::find($this->class_id),
            'batch_id' => Batch::find($this->batch_id),
            'student_id' => Student::find($this->student_id), */
            'subject' => $this->subject,
            'marks' => $this->marks,
            'marksgrade' => $this->marksgrade,
            'total' => $this->total,
            'grade' => $this->grade,
            'percentage' => $this->percentage,
            'year' => $this->year,
        ],

    ];
}

我想要的是这个

   data": [

    {
        "exam_type": "Unit Test 1",
        "details": {
            //subject1 details
        },
        {
            //subject2 details
        },
        {
            //subject3 details
        },

       "exam_type": "Unit Test 2",
        "details": {
            //subject1 details
        },
        {
            //subject2 details
        },
        {
            //subject3 details
        },
    },

我为上面的代码得到什么

"data": [
    {
        "exam_type": "Unit Test 1",
        "details": {
            //subject1 marks details
        }
    },
    {
        "exam_type": "Unit Test 1",
        "details": {
            //subject2 marks details
         }
    },
查维拉

您可以尝试以下方法:

  1. 先获得考试类型
$exam_types = StudentsMark::select('exam_type', 'student_id', 'academic_id')->whereIn('academic_id',$ids)->whereIn('student_id',$studentid)->get();

$marks = StudentMarksResource::collection($exam_types);
  1. 现在,您可以在资源中检索详细信息
#do not forget to import StudentsMark
#and you can make a resource for details, just to make clean code

    return [

        'exam_type' => $this->exam_type,

        'details' => StudentsMark::where('academic_id', $this->academic_id)
                                 ->where('student_id', $this->student_id)
                                 ->get();
    ];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel API资源隐藏键

来自分类Dev

Angular + Laravel API通信问题

来自分类Dev

API-处理嵌套资源(Laravel)

来自分类Dev

Laravel 5.2 Dingo / api资源组

来自分类Dev

Laravel API资源仅查询数据

来自分类Dev

API-处理嵌套资源(Laravel)

来自分类Dev

Laravel 5.2 Dingo / api资源组

来自分类Dev

Laravel Eloquent API 资源中的条件响应

来自分类Dev

如何为 Laravel 资源 API 进行分页

来自分类Dev

Laravel - Eloquent:API 资源 - 条件关系

来自分类Dev

Laravel路由资源问题

来自分类Dev

创建REST API时使用Laravel嵌套动态资源控制器的正确方法

来自分类Dev

React + Laravel 7 API-CORS问题

来自分类Dev

Web和Api路由的Laravel Auth问题

来自分类Dev

带有 CORS 问题的 Laravel 5.7 API

来自分类Dev

在资源路线中创建Laravel

来自分类Dev

Laravel创建从api到表的关系

来自分类Dev

Laravel 5.2-创建作业API

来自分类Dev

创建 json api laravel 所属关系

来自分类Dev

Laravel - 使用标题键创建 API

来自分类Dev

Laravel 5 RESTful API-了解资源概念

来自分类Dev

Laravel API资源:根据用户角色的不同回报

来自分类Dev

Laravel Eloquent API资源:从响应(集合)中删除“数据”键

来自分类Dev

Laravel雄辩的api资源删除`data`密钥(无集合)

来自分类Dev

在laravel 8中对api资源进行分组的方法?

来自分类Dev

利用 Laravel 资源返回 API 数据时更改键名

来自分类Dev

Laravel:防止在模型更新后修改 API 资源

来自分类Dev

Laravel 4嵌套资源逻辑问题

来自分类Dev

Laravel资源创建具有ID的模型