2016-11-08 20 views
1

我正在使用Yii版本1.1.13和使用addError方法添加新錯誤消息後的工具,儘管它在我使用它的頁面上工作正常,它在索引頁面上拋出了一個奇怪的長錯誤消息,其中錯誤500Yii 1.1.13在使用addError後死於錯誤500

Missing argument 1 for CModel::getError(), called in /var/www/html/framework/base/CComponent.php on line 111 and defined (/var/www/html/framework/base/CModel.php:371) 
Stack trace: 
#0 /var/www/html/protected/models/Testcases.php(132): Testcases->__get() 
#1 /var/www/html/protected/views/site/index.php(189): Testcases->search() 
#2 /var/www/html/framework/web/CBaseController.php(126): require() 
#3 /var/www/html/framework/web/CBaseController.php(95): SiteController->renderInternal() 
#4 /var/www/html/framework/web/CController.php(869): SiteController->renderFile() 
#5 /var/www/html/framework/web/CController.php(782): SiteController->renderPartial() 
#6 /var/www/html/protected/controllers/SiteController.php(295): SiteController->render() 
#7 /var/www/html/framework/web/actions/CInlineAction.php(49): SiteController->actionIndex() 
#8 /var/www/html/framework/web/CController.php(308): CInlineAction->runWithParams() 
#9 /var/www/html/framework/web/CController.php(286): SiteController->runAction() 
#10 /var/www/html/framework/web/CController.php(265): SiteController->runActionWithFilters() 
#11 /var/www/html/framework/web/CWebApplication.php(282): SiteController->run() 
#12 /var/www/html/framework/web/CWebApplication.php(141): CWebApplication->runController() 
#13 /var/www/html/framework/base/CApplication.php(184): CWebApplication->processRequest() 
#14 /var/www/html/index.php(13): CWebApplication->run() 
REQUEST_URI=/index.php 
in /var/www/html/protected/models/Testcases.php (132) 
in /var/www/html/protected/views/site/index.php (189) 
in /var/www/html/protected/controllers/SiteController.php (295) 

在爲我的新錯誤消息生成測試用例後出現此錯誤。然後我從svn倉庫恢復了我的修改過的文件,因爲以前的版本工作正常,但我仍然無法擺脫此消息。

我添加了新的錯誤是這樣的:

if (FieldsQueue::model()->exists("fieldname = 'something'")) 
       $model->addError('Error', "Something happened"); 
      else if (!isset($_POST['something'])) 
       $model->addError('test',"This is the new error); 
      else { do something } 

預先感謝您的幫助的答案。 :)

回答

0

終於解決了,數據庫中有一行導致了錯誤,我仍然不知道如何,以及是哪一個(我剛刪除了一些我最近在錯誤出現之前添加的)。這實際上很奇怪,因爲在這個錯誤消息中沒有關於DB的任何信息。

0

斐伊川的的addErrordefinition

public void addError(string $attribute, string $error) 

$attribute應該是你model (db) attribute

在你的代碼

$model->addError('Error', "Something happened"); 

Error應該是你modelattribute

+0

嗯..在這個文件中,我已經有一些addError行(這是由其他人編寫的),並且當我在整個項目中搜索給定的屬性(正常工作)時,除了在此控制器。所以我認爲這些沒有在其他地方定義,但仍然以某種方式工作,除了我寫了它。 –