如何关联查询、更新多张表内容?
本帖最后由 onice 于 2011-5-9 09:53 编辑function addsave(){
$data1 = array( //表 `categories`只需要更新parent_id字段
'parent_id' => $this->input->post('pid')
);
$date2 = array( //表 `categories_description`需要更新'categories_name' 和 'categories_description' 字段
'categories_name' => $this->input->post('name'),
'categories_description' => $this->input->post('description')
);
if(!empty($_POST['id'])){//如果是添加,这样添加是否正确?
$this->db->where('categories_id', $_POST['id']);
$this->db->update('categories', $data1);
$this->db->update('categories_description', $data2);
}else{ //如果是更新,我就不知道该怎么样同时更新到关联表的内容了
$this->db->insert('categories', $data1);
$this->db->insert('categories', $data2, 'categories_id=');
}
redirect('admin/category/index');
}
问题都放在注释了,
主要就是categories 和categories_description 是两张关联表,
插入和更新都需要同时进行,
不知道还能不能使用mysql_insert_id() 这个函数来得到上一条语句返回的ID值
本帖最后由 jeongee 于 2011-5-9 10:05 编辑
回复 onice 的帖子
很遗憾的告诉你,你的注释写倒了,
id的获取你可以使用$this->db->last_id();来获取
CI新手朋友切记一定到多看手册。
如果active record不好实现,别忘了,依然可以使用$this->db->query();来自己写sql语句运行,不必过于拘泥。 回复 jeongee 的帖子
了解了,
谢谢 不建议添加和update写在同一个方法里面
页面也是
回复 zhouli520 的帖子
写在一个方法里面,但是model里面会加以判断的
页:
[1]