Название в основном не требует пояснений. Eloquent имеет метод, называемый
updateOrCreate()
задокументировано здесь: https://laravel.com/docs/5.5/eloquent#other-creation-methods
В некоторых случаях это действительно полезно. Однако после выполнения updateOrCreate()
Мне нужен либо обновленный / созданный объект, либо его первичный ключ, либо его идентификатор.
Конечно я мог сделать MyModel::where(...)->first()
и дать все эти данные еще раз, но это неуклюже и может быть дорогой запрос.
тем не мение updateOrCreate()
только возвращается правда или же ложный.
Есть идеи?
Метод вернет идентификатор созданного или обновленного объекта, поэтому просто сделайте это:
$object = Model::updateOrCreate(['name' => 'John'], ['age' => 25]);
$id = $object->id;
Запрос последнего
$lastRecord = MyModel::last();
Или же
$lastRecord = MyModel::orderBy('id', 'DESC')->first();