2016-12-01 93 views
3

我在整個應用程序中執行各種雄辯的聲明。例如:捕捉雄辯錯誤

User::find($id)->update($data); 

或者:

User::create($data); 

或者:

User::paginate(10); 

我相信,以解決潛在的錯誤是使用嘗試的最佳方式/趕上?如果是這樣,我該如何捕捉雄辯錯誤?

+0

我認爲,雄辯是相當穩定的(如果定義正確)並返回一個集合。所以大部分情況下使用簡單就足夠了。我瘦了有一個modelNotFound異常。 – Mruf

+0

可以在控制器中處理外鍵異常 – Bugfixer

回答

3

findOrFail()方法,這將有助於在某些情況下。但是,您期望從paginate()update()create()期待什麼樣的錯誤?

開發過程中當您的模型出現問題時,例如MassAssignmentException當您嘗試更新的某個屬性在$fillable中丟失時,Laravel將拋出異常。

+0

也許用戶試圖添加/更新數據庫中不存在的字段? – panthro

+1

@panthro這種類型的錯誤應該在開發過程中加以修正(批量分配對你有幫助)。你不想在運行時用'try/catch'處理。 –

+0

謝謝!那麼在運行時應該處理哪些錯誤呢?關於雄辯/數據庫。 – panthro