比方有一个评分表,上面有人员,内容,以及打分。
那么需要两张数据表,一张research表字段为id以及name,一张admin表字段为id,user_id,content,grade,addtime。
admin表user_id外键research表id,这就关联查询到了。
那么我们的前端页面用的是research表通过foreach循环出来表单进行提交,
另外我们还需要在cakeModel下建立以个Admin.php的文件,大概代码
class Admin extends AppModel{
public $name='admin' //数据表名
public $belongsTo=array(
'research'=>array(
'className'=>'research',
'foreignKey'=>'user_id' //research 表外键 admin表的user_id
)
);
}
后面的代码ResearchesController控制器下写两种方法,
public $helpers = array('Html', 'Form'); public function index() { $data = $this->Research->find('all'); $this->set('posts',$data ); if($this->data){ // pr($this->data);exit; /*$data=$this->data; $count=count($data['Research']['content']); $aa=''; for($i=0;$i<$count;$i++){ $aa[]=array($data['Research']['user_id'][$i],$data['Research']['content'][$i],$data['Research']['grade'][$i]); } // pr($aa); foreach($aa as $k=>$v){ $datas['user_id'] = $v[0];$datas['content'] = $v[1];$datas['grade'] = $v[2];$datas['addtime']=time(); //var_dump($datas);exit; $this->loadModel('Admin'); $this->Admin->saveAll($datas); }*/ // pr($this->data);exit; //pr($_POST);exit; $datas=$this->data; $arr=array('grade'=>array(2=>'aa',5=>'bb',6=>'ss',8=>''), 'content'=>array(2=>8,5=>3,6=>7,8=>4) ); $sum=0; foreach($datas['Research']['grade'] as $k=>$v){ if(!empty($v)){ $data=array(); $data['user_id']=$k; $data['grade']=$v; $data['content']=$datas['Research']['content'][$k]; $data['addtime']=time(); $this->loadModel('Admin'); $return=$this->Admin->saveAll($data); if($return){ $sum++; } } } } }