You can't do that because the redirect only knows to what url it should go, not with what data. Instead you should pass the id in the url you redirect to and resolve the model again in the controller and pass it to the view
// RedirectController
public function action()
{
$myModelInstance = MyModel::where('field', 'value')->first();
return redirect()->route('route', $myModelInstance->id);
}
// ViewController
public function action(MyModel $myModel)
{
return view('my-model.show', compact('myModel'));
}
So were using route model binding here, if you don't know what that is check here: https://laravel.com/docs/5.8/routing#route-model-binding
Does this make sense? Let me know if you have any follow up questions