Php 更新两个模型,其中一个视图在Yii中不工作?
有人能帮我解决我的问题吗?我可以创建新记录,但不能修改或更新现有记录 以下是我的源代码:Php 更新两个模型,其中一个视图在Yii中不工作?,php,yii,Php,Yii,有人能帮我解决我的问题吗?我可以创建新记录,但不能修改或更新现有记录 以下是我的源代码: public function actionCreate() { $model = new Branchmaster; $user = new Usermaster; if(isset($_POST['Branchmaster'], $_POST['Usermaster'])) { $model->attributes=$_POST['Branchmaster'];
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,
));
}
我需要帮助解决这个问题。。。提前谢谢 而不是查找“findByAttr”,以便 //请注意tht$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));
您必须检查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));
}
感谢尝试使用$model->getErrors()和$user->getErrors()检查错误,其显示消息-'Array',您需要使用CVarDumper::dump($model->getErrors(),10,true)转储它@Letmesee嘿非常感谢你的帮助。。。现在我完成了:)…你的欢迎好友:)验证有问题吗嘿,谢谢你的代码。。。但是我已经做到了。。我在一些相关的数据类型上出错了…嘿,谢谢你的代码。。。但是我已经做到了。。我有一些数据类型相关的错误。你能正确地输入吗。发生了哪种类型的错误…?实际上我有字段状态,它是int类型,但可能是默认存储为字符串。。