Laravel DB::raw 复制

Posted

技术标签:

【中文标题】Laravel DB::raw 复制【英文标题】:Laravel DB::raw COPY 【发布时间】:2019-01-10 14:20:30 【问题描述】:

我使用 Laravel 5.5,我有一个非常大的文件,我需要将其内容插入到 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';

返回“OK”,我的数据库配置在其他方法上运行良好。

有人可以帮我吗?

【问题讨论】:

【参考方案1】:

DB::raw 不执行任何操作,它只是返回一个表达式以在查询构建器中使用。

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

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

【讨论】:

以上是关于Laravel DB::raw 复制的主要内容,如果未能解决你的问题,请参考以下文章

Laravel详解DB::raw() 用法

laravel 的DB::raw() 语法使用

Laravel DB::raw 绑定参数

Laravel 中的 DB Raw 查询错误

绑定参数到 Db::raw laravel 查询

Laravel 查询生成器按天计算行数 SQL db::raw