有人可以帮我解决我的问题吗?我能够创建新记录,但我无法修改或更新现有记录。
这是我的源代码:
public function actionCreate() {
$model = new Branchmaster;
$user = new Usermaster;
if(isset($_POST['Branchmaster'], $_POST['Usermaster'])) {
$model->attributes=$_POST['Branchmaster'];
$user->attributes=$_POST['Usermaster'];
$valid=$model->validate();
$valid=$user->validate() && $valid;
if($valid){
$model->save();
$chnuser->save();
$this->redirect(array('view','id'=>$model->Id));
}
}
$this->render('create',array(
'model'=>$model,
'user'=>$user,
));
}
public function actionUpdate($id) {
$model=$this->loadModel($id);
$user = Usermaster::model()->findByAttributes(array('branch_id'=>$model->Id));
if(isset($_POST['Branchmaster'], $_POST['Usermaster'])) {
$model->attributes=$_POST['Branchmaster'];
$user->attributes=$_POST['Usermaster'];
$valid=$model->validate();
$valid=$user->validate() && $valid;
if($valid){
$model->save();
$user->save();
$this->redirect(array('view','id'=>$model->Id));
}
}
$this->render('update',array(
'model'=>$model,
'user'=>$user,
));
}
我需要帮助解决这个问题...提前谢谢!
答案 0 :(得分:0)
而不是找到' findByAttr'所以这将是
//请注意,$ id必须是此特定模型的主键
$user = Usermaster::model()->findByPk($id);
//如果情况不允许主键,那么我们可以进行查询执行
$update = Yii::app()->db->createCommand()
->update('usermaster', array('field1'=>'value','field2'=>'value2'),
'branch_id=:id',array(':id'=>$branch_id));
答案 1 :(得分:0)
您必须检查是否退出ID而不是必须更新...
使用findByPk加载模型......
比上面的过程要好 这是示例代码。你必须实现这些
$model->attributes=$_POST['Branchmaster'];
$user_post = $_POST['Usermaster'];
$id = $user_post['id'];
$user = ModelName::model()->findByPk($id);
$user->variable_name = $variable_value
$valid=$model->validate();
$valid=$user->validate() && $valid;
if($valid){
$model->save();
$user->save();
$this->redirect(array('view','id'=>$model->Id));
}
由于