【发布时间】:2011-02-14 13:30:55
【问题描述】:
我创建了一个更新个人资料页面。
我在控制器中有这个来填充表单并处理更新:
$user = User::model()->findByPk(Yii::app()->user->id);
// Collect user input
if (isset($_POST['User'])) {
$user->attributes = $_POST['User'];
if ($user->save()) {
echo "update successfully";
}
else {
echo "update failed";
}
}
// View
$this->render('user_view', array('user'=>$user,));
但是,这不起作用。尽管 $user->save 为 true,但该记录并未在数据库中更新。我还检查了 $_POST['User'] 正在返回更新的数据,但 $user->attributes 没有保存它们。
为什么会这样?
【问题讨论】:
-
我可以使用 $user->name= $_POST['User']['name']; 手动分配但是如果有要更新的数据列表会很麻烦
-
查看 thaddeusmt 的答案,如果您也可以发布您的“用户”模型,那就太好了:D