当尝试提交新的活动记录实例并将其保存到数据库表时,我收到了直接的 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 错误消息)。但是这里直接显示警告信息?你能帮我解决这个困惑吗?谢谢你。