当尝试提交新的Active记录实例并将其保存到数据库表时,我得到了直接的PHP错误消息,没有我期望的AJAX警告文本。这让我很困惑。 PHP错误消息是:
mb_strlen() expects parameter 1 to be string, array given
它指向... Yii1.8 \ framework \ validators \ CStringValidator.php中的第72行,这是:
$length=mb_strlen($value, $this->encoding ? $this->encoding : Yii::app()->charset);
然后,在接下来的几行中,PHP错误继续指向我的AR类中的这一行(第209行):
205 $AttributesList = $saveArticleHistory->attributes;
206 $article_history->attributes = $AttributesList;
207 $article_history->article_id = $saveArticleHistory->id;
208 $article_history->id = null;
209 return $article_history->save();
但我的理解是,如果AR实例无法保存到数据库,则会引发Ajax警告(如果我们在视图中发出Ajax错误消息)。但这里会直接显示警告信息 ?你能帮我解决这个困惑吗? 谢谢。