首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将数据保存到数据库cakephp

无法将数据保存到数据库cakephp
EN

Stack Overflow用户
提问于 2017-05-16 03:47:44
回答 1查看 60关注 0票数 0

我有一张桌子SubjectTutor,有idsubject_idtutor_idprovince_idcity_idschool_idstate_privatestatus。我想将数据插入到SubjectTutor表中,但错误是

province_idcity_idschool_idstate_private不会保存到表SubjectTutor中,但是idsubject_idtutor_id将被保存。

这是控制器。我还设置了province_idcity_idschool_idstate_private值。

代码语言:javascript
运行
复制
public function admin_add_pack($standard_id=null) 
{
    $this->loadModel('Plan');
    $this->loadModel('SubjectTutor');
    $this->loadModel('Standard');
    $this->loadModel('Province');
    $this->loadModel('City');
    $this->loadModel('School');
    $this->loadModel('User');

    $standard_data = $this->Standard->find('first',array('conditions'=>array('Standard.id'=>$standard_id)));

    $province_id = 32;
    $city_id = 44;
    $school_id = 1855;
    $this->set('title_for_layout','Subject');   

    if(!empty($this->request->data))
    {           
        if (!isset($this->request->params['_Token']['key']) || ($this->request->params['_Token']['key'] != $this->request->params['_Token']['key'])) 
        {
            $blackHoleCallback = $this->Security->blackHoleCallback;
            $this->$blackHoleCallback();
        }

        //validate user data
        $this->SubjectTutor->set($this->request->data['SubjectTutor']);
        $this->SubjectTutor->setValidation('add');

        if ($this->SubjectTutor->validates()) 
        {
            // $this->request->data['Subject']['user_id'] = $this->Auth->user('id');
            $userdata   =   $this->request->data['SubjectTutor'];
            $this->SubjectTutor->save($userdata,false);
            $subject_tutor_id   =   $this->SubjectTutor->id;

            $this->SubjectTutor->school_id = 1855;
            $this->SubjectTutor->province_id = 32;
            $this->SubjectTutor->city_id = 44;
            $this->SubjectTutor->state_private = 1;
            $this->Session->setFlash("Record has been added successfully", 'admin_flash_good');
            $this->redirect(array('controller'=>'standards', 'action'=>'subject_list',$standard_id));
        } 
        else 
        {   
            $this->Session->setFlash("Record has not been created", 'admin_flash_bad');
        }
    }
    $tutors =   $this->User->getStandardTutorList($standard_id);
    $subjects = $this->Subject->getStandardSubjectList($standard_id);
    $standards = $this->Standard->getStandardList();
    $provinces = $this->Province->getProvinceList();
    $cities = $this->City->getCityList();
    $schools = $this->School->getSchoolList();

    $this->set(compact('provinces'));
    $this->set(compact('standards','standard_id','province_id','city_id','school_id','standard_data','tutors','subjects','provinces','cities','schools','tutor_id'));
}

这是ctp文件:

代码语言:javascript
运行
复制
<div class="form-group">
<div class="col-sm-6">
    <label for="exampleInputPassword1"> Select Tutor </label>
        <?php echo($this->Form->input('SubjectTutor.tutor_id', array('options'=>$tutors,'div'=>false, 'label'=>false, "class" => "form-control",'empty'=>'Select Tutor')));?>
</div>
</div>

<div class="form-group">
<div class="col-sm-6">
    <label for="exampleInputPassword1"> Select Standard </label>
        <?php echo ($this->Form->input('Subject.standard_id2', array('options'=>$standards,"div"=>false,"default"=>$standard_id,"label"=>false,"class"=>"form-control",'disabled'=>true))); ?>
</div>
</div>
<div class="form-group">
<div class="col-sm-6">
    <label for="exampleInputPassword1">Select Subject </label>
        <?php echo ($this->Form->input("SubjectTutor.subject_id", array('empty'=>'--Select Subject--', 'options'=>$subjects,"div"=>false,"label"=>false,"class"=>"form-control",'disabled'=>false))); ?>
</div>
</div>      
<div class="form-group">
<div class="col-sm-6">
    <label for="exampleInputPassword1">Province </label>
        <?php echo ($this->Form->input("SubjectTutor.province_id", array('empty'=>'--Select Province--', 'options'=>$provinces,"div"=>false,"default"=>$province_id,"label"=>false,"class"=>"form-control",'disabled'=>true))); ?>
</div>
</div>          
<div class="form-group">
<div class="col-sm-6">
     <label for="exampleInputPassword1">City </label>
            <?php echo ($this->Form->input("SubjectTutor.city_id", array('empty'=>'--Select City--', 'options'=>$cities,"div"=>false,"default"=>$city_id,"label"=>false,"class"=>"form-control",'disabled'=>true))); ?>
</div>
</div>  
<div class="form-group">
<div class="col-sm-6">
    <label for="exampleInputPassword1">School </label>
        <?php echo ($this->Form->input("SubjectTutor.school_id", array('empty'=>'--Select School--', 'options'=>$schools,"div"=>false,"default"=>$school_id,"label"=>false,"class"=>"form-control",'disabled'=>true))); ?>
</div>
</div>          
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-16 18:11:18

当对视图中的字段使用“禁用”选项时,该字段在保存表单数据时不会被设置。要么使用“readonly”选项,要么在保存之前在控制器中设置这些值(因为您不需要用户输入)。或者向用户显示值,而不假装他们有任何输入,并使用隐藏字段传递正确的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43992156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档