2015-08-02 2 views
1

У меня есть 3 таблицы А многие -в-многим,Mysql Вставка и выберите в CodeIgniter

BOOK

book_id | book_name | rubric | autor 

РУБРИКА

rubric_id | rubric_name 

AUTOR

autor_id | first_name | last_name 

Я ищу запрос, который выбирает все данные в одной таблице. вставить данные через форму, как это:

Контроллер

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? И как правильно выбрать его? Заранее спасибо!

ответ

0

В ваших моделях вы можете использовать функцию:

$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(); 
} 

Read the CodeIgniter Documentation

Смежные вопросы