Eloquent has both a findOrCreate and findOrNew method.
// Retrieve the flight by the attributes, or create it if it doesn't exist...
$flight = App\Flight::firstOrCreate(['name' => 'Flight 10']);
// Retrieve the flight by the attributes, or instantiate a new instance...
$flight = App\Flight::firstOrNew(['name' => 'Flight 10']);
Maybe that will help? https://laravel.com/docs/5.2/eloquent#inserting-and-updating-models
--Jeff