Support the ongoing development of Laravel.io →
Requests Eloquent

hi,

here's the show method of my SiteController, it shows a site resource as a json to any user who request one with a existing site ID.

public function show($id)
{
	$site = Site::find($id)
	if($site){
			$arr = $site->toArray();
			$arr['error'] = false;
			return Response::json($arr, 200);
		}else{
			return Response::json(array('error' => true), 500);
		}

sadly it downs't really work as it throw http error "whoops there was an error" when the id doesn't exist. Here's a better one:

public function show($id)
{
	if($site = Site::find($id)){
			$arr = $site->toArray();
			$arr['error'] = false;
			return Response::json($arr, 200);
		}else{
			return Response::json(array('error' => true), 500);
		}

This one seams to work but is not very nice. If there were n call to the db through Eloquent I would have to make n conditional to catch everything.

What is the Laravel way to return a JSON with the error code on error?

Thank you very much

Last updated 2 years ago.
0

I don't understand what do you mean with:

  • I would have to make n conditional to catch everything

  • What is the Laravel way to return a JSON with the error code on error?

Last updated 2 years ago.
0

Sign in to participate in this thread!

Eventy

Your banner here too?

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2025 Laravel.io - All rights reserved.