Подтвердить что ты не робот

Laravel firstOrNew, как проверить, является ли это первым или новым?

Я использую функцию Laravel firstOrNew() для создания нового пользователя или поиска и обновления существующего.

Как я могу узнать, после создания объекта, если он существовал раньше или если это новый объект?

Идея выглядит примерно так:

$user = \App\User::firstOrNew([
    'email' => $userData->getEmail(),
    'name' => $userData->getName(),
]);

if ($user->new) { // some way to check
    // user was created now
} else {
    //user already existed
}
4b9b3361

Ответ 1

Вы можете проверить свойство exists на модели.

if ($user->exists) {
    // user already exists
} else {
    // user created from 'new'; does not exist in database.
}

Ответ 2

Вы можете проверить, был ли ваш пользователь недавно создан.

if ($user->wasRecentlyCreated) {
    // new user
} else {
    // user already exists
}

(Источник: Thomas Kim от этот ответ)