2017-01-03 43 views
1

時腳本死掉了我試圖使用$ model-> save()..但是我不能得到像文檔那樣的錯誤消息,而是出現跟蹤錯誤的錯誤消息那麼腳本就會死亡。

比如我想使用此代碼:

$user = new Users(); 
$user->name = "Name"; 

if(!$user->save()){ 
    //do stuff if there is an error 
} 

的問題是,我總是得到驗證錯誤這樣和腳本死了,永遠不會返回false進入if條件:

password is required 
#0 ..../UsersController.php(106): Phalcon\Mvc\Model->save() 
#1 [internal function]: ....\UsersController->createAction() 
#2 [internal function]: Phalcon\Dispatcher->callActionMethod(Object(....\UsersController), 'createAction', Array) 
#3 [internal function]: Phalcon\Dispatcher->_dispatch() 
#4 [internal function]: Phalcon\Dispatcher->dispatch() 
#5 ....\public\index.php(41): Phalcon\Mvc\Application->handle() 
#6 {main}** 
+2

什麼是與此錯誤消息的問題發出閃光的錯誤?追溯錯誤。在某個時候有一個'拋出新的感知('需要密碼')' –

+0

你的代碼中有一處在保存時拋出一個錯誤。 – Juri

+0

這個問題不是那個錯誤信息,但是我想用一個flash msg來顯示錯誤信息,例如文檔: 'if($ robot-> save()=== false){ echo「Umh,We現在無法儲存機器人:\ n「; $ message = $ robot-> getMessages(); foreach($ messages as $ message){ echo $ message,「\ n」; }' –

回答

0

我終於找到了解決方案,我發現,在services.php 某處這條線啓用,並且是什麼原因造成的異常被拋出 Phalcon\Mvc\Model::setup(['exceptionOnFailedSave' => true]並轉向假後,我可以輕鬆地添加我的條件並使用此代碼檢查錯誤消息。

if ($model->save() === false) { 
    $messages = $model->getMessages(); 
    foreach ($messages as $message) { 
     echo $message, "\n"; 
    } 
} 
0

您可以使用

$this->flash->error("too bad! the form had errors"); 
$this->flash->success("yes!, everything went very smoothly"); 
$this->flash->notice("this a very important information"); 
$this->flash->warning("best check yo self, you're not looking too good."); 

看到文檔 https://docs.phalconphp.com/en/latest/reference/flash.html