Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

afoysal's avatar

Modify API result

I have below API controller function. I am getting errors while I am trying to modify the function.

public function subcourses()
    {
        $subcourses = subcourses::with('goals','course')->get();
        $subcourses->total_marks =  $subcourses->question_mark * $subcourses->total_questions; //I am getting erros here
        return response()->json($subcourses);
    }
0 likes
6 replies
Sergiu17's avatar

Debug it

public function subcourses() {
	dd($subcourses->total_questions, $subcourses->question_mark);
}
1 like
tykus's avatar

$subcourses is a Collection.

public function subcourses()
{
    $subcourses = subcourses::with('goals','course')->get()
        ->map(function ($subcourse) {
		    $subcourse->total_marks =  $subcourse->question_mark * $subcourse->total_questions;
        });
    
    return response()->json($subcourses);
}

EDIT forgot to assign to $subcourses the result of the map operation

1 like
afoysal's avatar

Thanks @tykus . I am getting result like below using your code.

[
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null
]
tykus's avatar
tykus
Best Answer
Level 104

Sorry, forgot to return:

public function subcourses()
{
    $subcourses = subcourses::with('goals','course')->get()
        ->map(function ($subcourse) {
		    $subcourse->total_marks =  $subcourse->question_mark * $subcourse->total_questions;
            return $subcourse;
        });
    
    return response()->json($subcourses);
}
1 like

Please or to participate in this conversation.