Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用codeigniter中的查询生成器类缩短此查询_Php_Mysql_Database_Codeigniter_Codeigniter 3 - Fatal编程技术网

Php 如何使用codeigniter中的查询生成器类缩短此查询

Php 如何使用codeigniter中的查询生成器类缩短此查询,php,mysql,database,codeigniter,codeigniter-3,Php,Mysql,Database,Codeigniter,Codeigniter 3,我使用本机php查询将内容从一个表移动到另一个表,在使用Codeigniter之后,我对使用最适合我需要的查询生成器类感到困惑: $this->db->query('INSERT INTO t_pr (ID_PR,no_pr,dept,pr_date,pr_create_date,product_name,qty,uom,Remarks,status_line,status_pr,data_entry) SELECT ID_PR,no_pr,dept,pr_date,pr_crea

我使用本机
php
查询将内容从一个表移动到另一个表,在使用
Codeigniter
之后,我对使用最适合我需要的查询生成器类感到困惑:

$this->db->query('INSERT INTO t_pr (ID_PR,no_pr,dept,pr_date,pr_create_date,product_name,qty,uom,Remarks,status_line,status_pr,data_entry) 
SELECT ID_PR,no_pr,dept,pr_date,pr_create_date,product_name,qty,uom,Remarks,status_line,status_pr,data_entry FROM t_pr_temp');

你不能。ActiveRecord和QueryBuilder不支持插入…选择功能


使用纯SQL,您总是可以比通过任何抽象层(例如ORM、ActiveRecord、QueryBuilder等)做更多的事情,因为不同的DB服务器具有不同的本机功能。

使用Codeigniter QueryBuilder,您可能希望这样使用它:

$this->db->insert_batch( 't_pr ', $this->db->get('t_pr_temp') );

这个链接可能会有帮助:您的查询是正确的,正如上面所说的,也是正确的。你所做的只是一个变通办法。据我所知,CI没有这个功能。