De Laravel Documentation (voir here dernière partie) Il existe deux méthodes Laravel:
Autre création Méthodes
Il y a deux autres méthodes que vous pouvez utiliser pour créer des modèles par attributs attribution de masse: firstOrCreate et firstOrNew. La méthode firstOrCreate tentera de localiser un enregistrement de base de données à l'aide des paires colonne/valeur données. Si le modèle ne peut pas être trouvé dans la base de données, un enregistrement sera inséré avec les attributs donnés.
La méthode firstOrNew, comme firstOrCreate, tente de localiser un enregistrement dans la base de données correspondant aux attributs donnés. Cependant, si un modèle n'est pas trouvé, une nouvelle instance de modèle sera renvoyée. Notez que le modèle renvoyé par firstOrNew n'a pas encore été conservé dans la base de données. Vous devrez appeler enregistrer manuellement persister il:
// 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']);
veuillez vérifier ceci https://laracasts.com/discuss/channels/general-discussion/insert-on-duplicate-key-update –