Php 无法编辑特定用户';基于yii框架的数据挖掘
我是yii框架的新手。我正在使用yii框架进行更新操作。我有一个名为sitecontroller.php、model jobseekerprofile.php、view personal.php的控制器。我无法通过表单发布更新数据 我的控制器是sitecontroller.phpPhp 无法编辑特定用户';基于yii框架的数据挖掘,php,yii,Php,Yii,我是yii框架的新手。我正在使用yii框架进行更新操作。我有一个名为sitecontroller.php、model jobseekerprofile.php、view personal.php的控制器。我无法通过表单发布更新数据 我的控制器是sitecontroller.php <?php class SiteController extends Controller { public function actionpersonal() { $user_id = tri
<?php
class SiteController extends Controller
{
public function actionpersonal()
{
$user_id = trim($_GET['id']);
$model = new jobseekerprofile();
if(isset($_POST['jobseekerprofile']))
{
$model->attributes=$_POST['jobseekerprofile'];
if($model->save())
{
$this->redirect(array('profile','user_id'=>$model->user_id));
}
}
$model=jobseekerprofile::model()->find(array(
'select'=>'contact_no,address',"condition"=>"user_id=$user_id",
'limit'=>1,));
$this->render('personal',array('model' =>$model));
}
}
}
?>
有人帮我吗 因为您在每次请求时都会创建新的jobseekerprofile模型,所以此代码将在您每次提交时创建新的jobseekerprofile记录。将您的操作更改为:
public function actionpersonal()
{
$user_id = trim($_GET['id']);
$model=jobseekerprofile::model()->find(array(
'select'=>'contact_no,address',"condition"=>"user_id=$user_id",
'limit'=>1,));
if(isset($_POST['jobseekerprofile']))
{
$model->attributes=$_POST['jobseekerprofile'];
if($model->save())
{
$this->redirect(array('profile','user_id'=>$model->user_id));
}
}
$this->render('personal',array('model' =>$model));
}
这应该是可行的。您尚未提供要编辑的用户的主键。 试着跟随
if($model->save())
{
$this->redirect(array('profile','user_id'=>$model->user_id));
}
$model=jobseekerprofile::model()->findByPk($id);
$id是表的主键。
然后你可以写以下内容
if($model->save())
{
$this->redirect(array('profile','user_id'=>$model->user_id));
}
如果只使用$model->save(),它将插入数据,但不会更新。在表单中添加操作,并更改控制器函数名actionppsonalcontroller name Sitecontroller.php、、我的操作名-personal、、我的视图文件名-personal.phpTry将'enableClientValidation'设置为false、删除'enctype',然后选中$jobseekerprofile->errors。jobseekerprofile规则可能存在问题。性别、出生日期、mstatus字段是必填字段,但未设置。在保存模型之前设置它。
public function actionpersonal()
{
$user_id = trim($_GET['id']);
$model=jobseekerprofile::model()->find(array(
'select'=>'contact_no,address',"condition"=>"user_id=$user_id",
'limit'=>1,));
if(isset($_POST['jobseekerprofile']))
{
$model->attributes=$_POST['jobseekerprofile'];
if($model->save())
{
$this->redirect(array('profile','user_id'=>$model->user_id));
}
}
$this->render('personal',array('model' =>$model));
}
if($model->save())
{
$this->redirect(array('profile','user_id'=>$model->user_id));
}