有两个表格内容和内容预览。我想在一个动作中添加两个表中的数据。更多内容表的last_insert_id将保存到contentpreviews表中。怎么办呢?
$this->data['Content']['user_id'] = $uid; $this->data['Content']['content_category_id'] = $catname; $this->data['Content']['title'] = $contname; $this->data['Content']['description'] = $contdesc; $this->Content->create(); $this->Content->save($this->data['Content']); /*****************CONTENT SAVE END*****************/ if(!empty($arxml[$arrFirstNode]['Webpreview'])){ $webPreViewItem = count(array_values($arxml[$arrFirstNode ['Webpreview'])); $webPrevfileName = array_values($arxml[$arrFirstNode]['Webpreview']); for($wpi=0; $wpi<$webPreViewItem; $wpi++){ $this->data['contentpreviews']['content_id'] = $this->Content->getLastInsertId(); $this->data['contentpreviews']['name'] = $webPrevfileName[$wpi]; $this->data['contentpreviews']['is_wap'] = 1; //$this->Contentpreview->create();
// $这 - &GT; Contentpreview-&GT;白水($这 - &GT;数据[&#39; Contentpreview&#39;]); } 现在怎样才能将数据保存到内容和内容预览表中?
答案 0 :(得分:0)
CakePHP允许您一次保存多个模型关联。 This link会帮助你。
首先,您必须创建一个关联的数组,就像参考链接中给出的一样。然后,您必须使用以下代码将数据保存到contents和contentprviews表中。
$this->Content->saveAssociated($this->requst->$data, array('deep' => true));
您还可以使用saveAll()方法在单次查询中将数据保存到多个相关表中。