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
}