簡體   English   中英

Laravel Model->save() 返回 false 但沒有錯誤

[英]Laravel Model->save() returns false but no error

通常,當我調用Model->save()時,它會成功在數據庫中創建新記錄。 當什么都沒有發生並且Model->save()返回 false 時,我正在嘗試調試一種情況。 我怎樣才能知道發生了什么?

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

運行它不會顯示任何插入查詢。

dd(DB::getQueryLog());

但是,如果我var_dump($user) ,我正確地獲得了正確保存在對象中的所有字段。

謝謝!

$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
    }

希望這可以幫助 :)

我知道它已經得到了回答,但是如果其他人需要不同的方法,我可以看到 $model->save() 錯誤與 Laravel 的未被重視的組件:修補程序

php artisan tinker
$old = \App\Model\User::find(1);
$new = $old->replicate();
$new->save();

然后我能夠看到錯誤:

使用消息'SQLSTATE [42S22] 照亮/數據庫/查詢異常:找不到列:1054 '字段列表'中的未知列'關系'(SQL:插入temp_users (...

如果你只是想逃避而不知道發生了什么,你可以試試這個,

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM