繁体   English   中英

如何从 2 个不同的表中选择并插入到 1 个表

[英]How to select from 2 different table and insert to 1 table

我有一个功能是从书籍表插入到订单表中选择。

现在我想从书籍和用户表中选择插入到订单表中。

这是书桌在此处输入图片说明

这是订单表在此处输入图片说明

这是用户表在此处输入图片说明

模型

public function history($book_id){
$this->db->select('book_id,book_title,pickup,return');
$this->db->from('books');
$this->db->where('book_id', $book_id);

$query = $this->db->get();

if ( $query->num_rows() > 0 ) // if result found
{
    $row = $query->result_array();
    foreach($row as $values){
        $data = array(
            'book_id' => $values['book_id'],
            'title' => $values['book_title'],
            'pickup' => $values['pickup'],
            'return_time' => $values['return'],

        );
        $this->db->insert('orders', $data);
    }
    return true;    
}
else{
    return false; 
} }

您将像这样加入表格

$this->db->join('users_table_name', 'users_table_name.id = books.user_id');

其他一切都应该一样

对于 user_id,您可以从会话中获取,例如:

$data = [
        'book_id' => $values['book_id'],
        'user_id' => $this->session->userdata('session_name'),
        'title' => $values['book_title'],
        'pickup' => $values['pickup'],
        'return_time' => $values['return'],

    ];

希望这会有所帮助

public function insert_record($book_id, $user_id) {
    $book = $this->db->select('book_id, book_title, pickup, return')
                        ->from('books')
                        ->where('book_id', $book_id)
                        ->get()
                        ->result_array();
    if(!empty($book)) {
        $data = array(
                'book_id' => $book[0]['book_id'],
                'user_id' => $user_id,
                'title' => $book[0]['book_title'],
                'pickup' => $book[0]['pickup'],
                'return_time' => $book[0]['return'],
            );
        $this->db->insert('orders', $data);
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM