我有 3 个多对多表,
书
book_id | book_name | rubric | autor
标题栏
rubric_id | rubric_name
作者
autor_id | first_name | last_name
我正在寻找选择一个表中所有数据的查询。 我通过这样的形式插入数据:
Controller
public function insert_data_to_db(){
$form_data_book_name['book_name'] = $this->input->post('book_name');
$form_data_autor['first_name'] = $this->input->post('first_name');
$form_data_autor['last_name'] = $this->input->post('last_name');
$form_data_rubric['rubric'] = $this->input->post('book_rubric');
$proc = $this->book_model->insert_books_to_db($form_data_book_name);
if($proc){
echo "ok";
}
$proc1 = $this->book_model->insert_autors_to_db($form_data_autor);
if($proc1){
echo "ok";
}
$proc2 = $this->book_model->insert_rubric_to_db($form_data_rubric);
if($proc2){
echo "ok";
}
}
型号
public function insert_books_to_db($form_data_book_name){
return $this->db->insert('book',$form_data_book_name);
}
public function insert_autors_to_db($form_data_autor){
return $this->db->insert('autor',$form_data_autor);
}
public function insert_rubric_to_db($form_data_rubric){
return $this->db->insert('book',$form_data_rubric);
}
为了选择数据,我在我的模型中使用这样的查询:
public function show_book_and_autor_name(){
$query = $this->db->query("SELECT DISTINCT book.book_name, autor.first_name, autor.last_name, rubric.rubric_id FROM book LEFT JOIN autor ON book.autor=autor_id LEFT JOIN rubric ON book.rubric=rubric_id ORDER BY book.book_id;");
return $query->result();
}
如何在 autor 列中插入 | rubric
一些与表 AUTOR 和 RUBRIC 有关系的键?以及如何以正确的方式选择它?提前致谢!
最佳答案
在您的模型中,您可以使用以下函数:
$this->db->insert_id();
获取插入的ID。你可以这样做:
public function insert_books_to_db($form_data_book_name){
if ( $this->db->insert('book',$form_data_book_name) )
return $this->db->insert_id();
}
关于php - CodeIgniter 中的 Mysql INSERT 和 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31770500/