【问题标题】:Update Profile yii framework更新 Profile yii 框架
【发布时间】:2014-02-11 06:24:06
【问题描述】:

我想建立一个更新配置文件页面,我有 2 个 mysql 表 1. 帐户 2. 信息,所以我想插入或更新用户信息表。

这是我目前所拥有的,但在保存数据时返回错误"Call to undefined method stdClass::save()"

控制器:

public function actionUpdate_profile() {
        $model = new UserProfileForm();

        $user = Userinfo::model()->findByPk(Yii::app()->user->id);

        $model->name = $user->_name;
        $model->myurl = $user->myurl;

        if (isset($_POST['UserProfileForm'])) {
            $model->attributes = $_POST['UserProfileForm'];

            if ($model->validate()) {
                $model->attributes = $_POST['UserProfileForm'];

                $user->name = $model->name;
                $user->myurl = $model->myurl;
                $user->save();
          });

      });

        $this->render('update_profile', array(
            'model' => $model,
            'user' => $user,
        ));
    }

型号:

class Userinfo extends CActiveRecord {

    public static function model($className = __CLASS__) {
            return parent::model($className);
        }

    public function tableName() {
        return 'user_info';
    }

    public function rules() {
        return array(
            array('email, name, myurl', 'length', 'max' => 255),
        );
    }

    public function attributeLabels() {
        return array(
            'user_id' => Yii::t('yii', 'Id User'),
            'name' => Yii::t('yii', 'First Name'),
            'myurl' => Yii::t('yii', 'Last Name'),
        );
    }

class UserProfileForm extends CFormModel {

    public $name;
    public $myurl;

    public function rules() {
        return array(
            array('name, myurl', 'required'),
        );
    }

    public function attributeLabels() {
        return array(
            'name' => Yii::t('yii', 'First Name'),
            'myurl' => Yii::t('yii', 'Last Name'),
        );
    }

}

【问题讨论】:

  • 确保Userinfo::model()->findByPk(Yii::app()->user->id)在使用之前确实找到了一个对象。
  • 您创建 $model = new UserProfileForm(); 的目的是什么,而与该模型无关

标签: php yii


【解决方案1】:

我知道这不是最佳实践,但它很简洁 -

if($user = Userinfo::model()->findByPk(Yii::app()->user->id)) { 
    //then work with $user here
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    相关资源
    最近更新 更多