如何解决Yii2 Php-调用数组上的成员函数 getAttributeLabel()
我有 3 个视图。创建和更新视图是相同的。在 _form.php 视图文件中。我有这个:
<?php
use yii\bootstrap\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model,'name') ?>
<?= $form->field($model,'adr_country_id') ->dropDownList($cities) ?>
<?php ActiveForm::end()?>
在创建和更新视图中:
<?= $this->render('_form',['model' => $model,cities' => $cities ]); ?>
。我可以创建新记录但无法更新它。我得到了标题中的错误。这是我的更新控制器。这里可能有什么问题?提前致谢
public function actionUpdate($id) {
$model = ArrayHelper::map(AdrCountry::find()->all(),'id','name');
$cities = AdrCity::findOne($id);
if ($cities->load(Yii::$app->request->post()) && $cities->validate())
{
$cities->save();
Yii::$app->session->setFlash('success',' updated');
return $this->redirect(['index']);
}
return $this->render('update',[
'cities' => $cities,'model' => $model
]); }
解决方法
更新控制器的动作
public function actionUpdate($id) {
$cities = ArrayHelper::map(AdrCountry::find()->all(),'id','name');
$model = AdrCity::findOne($id);
if ($model->load(Yii::$app->request->post()) && $model->validate())
{
$model->save();
Yii::$app->session->setFlash('success',' updated');
return $this->redirect(['index']);
}
return $this->render('update',[
'cities' => $cities,'model' => $model
]); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。