Manipulando dados de arrays com o método ‘pluck’ em coleções do Laravel
O Laravel é um dos frameworks de desenvolvimento web mais populares e poderosos em uso atualmente. Ele tem muitas características... Leia mais
Desenvolvedor de Software
O método PDO::pgsqlCopyFromArray permite copiar dados de um array diretamente para uma tabela no PostgreSQL. Este tutorial mostra como usar esse método no contexto do Laravel.
Os métodos do PDO no Laravel podem ser acessados diretamente através da conexão com o banco de dados fornececida pelo Eloquent.
use Illuminate\Support\Facades\DB;
try {
$pdo = DB::connection()->getPdo();
$tableName = 'nome_da_tabela';
$delimiter = "\t";
$nullAs = "\\N";
$pdo->pgsqlCopyFromArray($tableName, $dados, $delimiter, $nullAs);
echo "Dados inseridos com sucesso!";
} catch (PDOException $e) {
echo 'Falha ao inserir dados: ' . $e->getMessage();
}
Este exemplo mostra como ler um arquivo CSV, converter seus dados em um formato adequado e importá-los para uma tabela PostgreSQL usando o método PDO::pgsqlCopyFromArray no Laravel.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use PDOException;
class ImportController extends Controller
{
public function importCsv(Request $request)
{
// Validação do arquivo
$request->validate([
'csv_file' => 'required|file|mimes:csv,txt',
]);
// Caminho do arquivo CSV
$path = $request->file('csv_file')->getRealPath();
// Ler o conteúdo do arquivo CSV
$file = fopen($path, 'r');
$dados = [];
while (($linha = fgetcsv($file, 1000, ",")) !== FALSE) {
$dados[] = implode("\t", $linha);
}
fclose($file);
// Inserir dados na tabela usando pgsqlCopyFromArray
try {
$pdo = DB::connection()->getPdo();
$tableName = 'nome_da_tabela';
$delimiter = "\t";
$nullAs = "\\N";
$pdo->pgsqlCopyFromArray($tableName, $dados, $delimiter, $nullAs);
echo "Dados inseridos com sucesso!";
} catch (PDOException $e) {
echo 'Falha ao inserir dados: ' . $e->getMessage();
}
}
}
Utilizar PDO::pgsqlCopyFromArray é uma maneira eficiente de inserir grandes volumes de dados no PostgreSQL. Certifique-se de validar o arquivo e manipular exceções adequadamente para garantir uma importação segura e eficaz.
Para mais detalhes, consulte a documentação oficial do PHP.
O Laravel é um dos frameworks de desenvolvimento web mais populares e poderosos em uso atualmente. Ele tem muitas características... Leia mais
Vamos lá a mais um estudo de caso. Na tela abaixo temos um crud simples cujo frontend foi feito com... Leia mais
Publiquei neste artigo https://paulorb.dev/alternar-entre-multiplas-versoes-no-php/ formas de como instalar diversas versões do PHP em distros Linux mas surgiu um problema que... Leia mais
No dia a dia do desenvolvimento com Laravel, é comum precisarmos inspecionar uma query SQL gerada dinamicamente. A primeira ferramenta... Leia mais