エラーを取得するためのyii2モデルgetErrorsメソッド
モデルが間違った方向に進む
public static function getModelError($model) {
$errors = $model->getErrors(); //得到所有的错误信息
if(!is_array($errors)) return '';
$firstError = array_shift($errors);
if(!is_array($firstError)) return '';
return array_shift($firstError);
}
getErrors():
単一の属性のすべての属性またはエラーを返します。つまり、検証で発生したすべてのエラーを返します。
$model = new User();
$model->name = $name;
$model->nick_name = $nick_name;
$model->phone = $phone;
$model->sex = $sex;
$model->isNewRecord = true; //此语句可省略
if(!$model->save()){
//保存不成功
throw new \RuntimeException('保存败.'.$model::getModelError($model));
}
getErrors()
Array
(
[cid] => Array
(
[0] => Cid不能为空=> Array
(
[0] => Times不能为空
$ model-> getFirstErrors()
各属性の最初のエラーメッセージを返します。返品は次のとおりです。
Array
(
[cid] => Cid不能为空=> Times不能为空
$ model-> getFirstError( 'cid');戻り値は次のとおりです
。Cidを空にすることはできません。