Laravel Model-> save() возвращает false, но без ошибок

Обычно, когда я вызываю Model->save(), он успешно создает новую запись в базе данных. Я пытаюсь отлаживать ситуацию, когда ничего не происходит, а Model->save() возвращает false. Как узнать, что происходит?

$user = new User;
$user->fields = 'example';
$user->save(); // returns false

Запуск этого не показывает никаких запросов вставки.

dd(DB::getQueryLog());

Но если я var_dump($user), я правильно получу все поля, правильно сохраненные в объекте.

Спасибо!

Ответы

Ответ 1

Чтобы получить запросы на вставку при ошибке $user->save();, вы можете попытаться поймать это исключение:

    try{
       $user = new User;
       $user->fields = 'example';
       $user->save(); // returns false
    }
    catch(\Exception $e){
       // do task when error
       echo $e->getMessage();   // insert query
    }

Надеюсь, что это поможет:)

Ответ 2

Если вы просто хотите убежать, не зная, что происходит, вы можете попробовать это,

 $user = new User;
    $user->fields = 'example';
    if($user->save()){
        return true;
    }
    else{
        // returns false
        //do something
    }