Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Returning multiple JSON from controller in Laravel

Tags:

json

ajax

laravel

I have something like this in the route:

Route::post('/iteminfo/{item_id}','itemcontroller@get_item_info');

And something like this in the controller

public function get_item_info($request)
{
$item_image = Item_Image->where("item_id",$request)->first();
$item_something = Item_Something->where("item_id",$request)->first();
$item_more = Item_More->where("item_id",$request)->first();

return Response::json($item_image);

}

I want to return the 3 things but with return Response::json() I can only return 1 statement (as far as I know). Is there any way to return all of them?

like image 931
prgrm Avatar asked May 18 '26 07:05

prgrm


2 Answers

You can pass an array as the json response. So craft an array based on your data and use it.

return Response::json(array(
    'item_image' => $item_image,
    'item_something' => $item_something,
    'item_more' => $item_more,
));
like image 111
Sandeesh Avatar answered May 20 '26 21:05

Sandeesh


Since it requires an Array parameter so you can construct an array from the variables

 return response()->json(['item_image ' => $item_image, 'item_something' => $item_something, 'item_more' => $item_more  ]);

Or

return Response::json(['item_image ' => $item_image, 'item_something' => $item_something, 'item_more' => $item_more  ]);
like image 28
Basheer Kharoti Avatar answered May 20 '26 21:05

Basheer Kharoti