Lets say i have a model called "Manufacturer" with a controller which has a show method
public function show($id)
{
$manufacturer = json_decode( $this->manufacturer->find($id) );
return view('viewManufacturer', compact('manufacturer'));
}
And a Eloquent-repository with a find method
public function find($id)
{
return Manufacturer::find($id)->toJson();
}
Now if a model doesn't exist or is softdeleted it gives me a fatal exception
FatalErrorException in ManufacturerRepository.php line 22:
Call to a member function toJson() on null
How do i set an exception, so instead of the default error page it shows a custom error page with something like, "Manufacturer not found".
EDIT: Well i actually tried that, but it returns an error. The above mentioned query was just for demonstration, in actual i have another model called vehicle. And Manufacturer has one to many relationship with Vehicle.
public function find($id, $columns1 = array('*'), $columns2 = array('*'))
{
return Manufacturer::with(['vehicles' => function($q) use ($columns2){
$q->select($columns2);
}])->get($columns1)->find($id)->toJson();
}
So if i replace find with findOrFail it spits an error saying Call to undefined method Illuminate\Database\Eloquent\Collection::findOrFail()