Laravel DB ::原始COPY

时间:2018-08-02 18:16:31

标签: database laravel postgresql laravel-5

使用Laravel 5.5的

im,我有一个很大的文件,我需要将其内容插入postgres数据库。 在我的研究中,我看到了Postgresql文档中的COPY函数。 Copy function documentation

我在PgAdmin中测试了以下命令,并且工作正常。

COPY requisitions FROM '/srv/www/billing_log' DELIMITER ',';

所以我看到在Laravel中我们可以使用DB :: raw()之类的东西在postgres中执行此命令。我尝试使用下面的代码,但是什么也没有发生,并且没有显示错误。

public function insertFile()
{
    DB::raw("COPY requisitions FROM '/srv/www/billing_log' DELIMITER ','");
    return 'OK';
}

返回“确定”,我的数据库配置在其他方法上运行正常。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

DB::raw不执行任何操作,它只返回要在查询生成器中使用的表达式。

您可以使用DB::statement()执行原始语句。

https://laravel.com/docs/5.6/database#running-queries