Мой вопрос касается нескольких методов в Laravel Eloquent ORM. В частности, 3 методы привлекли мое внимание:Laravel Eloquent: Найти действие, выполняемое по функции
firstOrCreate
firstOrNew
updateOrCreate
Я четко понимаю, что эти методы, но не нашел способ, чтобы определить, какая операция была выполнена после их вызова.
Например, после вызова firstOrCreate
, как определить, найдена модель в базе данных или создана? Сначала я могу запустить запрос на поиск, а затем создать запись, если она не была найдена, но это было бы очень неэффективно.
Аналогичным образом, как узнать, был ли объект создан или найден в базе данных в случае firstOrNew
, и если объект был обновлен или создан в случае updateOrCreate
.
Зачем вам эта информация? Эти функции являются ярлыками для кода, который обычно записывается в любом случае. Если вам нужно определить, какой из них был фактически запущен, вы, вероятно, захотите найти и увидеть, если что-либо возвращается –