I just started laravel and all I want to do is get following query working in Eloquent:
INSERT INTO geschichte (geschic
Looks like you don't have a unique key setup on the columns you wish to be unique. In order to use on duplicate key update
, you will need that so your database server will know if it needs to insert or update.
Unfortunately, Laravel doesn't have support for on duplicate key update
syntax. This would be useful because it tries to insert and if it's already in the table, then it will update the columns accordingly in one query.
Using Laravel's updateOrCreate
method, it first queries the table to see if it needs to generate an insert or update statement and then proceeds accordingly. You don't get the advantage of running just one query but at the same time, it's Laravel which is handling all the extra logic so it's a slight trade-off.