
Como atualizar multiplos registros com o método whereIn no Laravel 9 ?
O Laravel 9 é um framework PHP moderno e poderoso que oferece muitas ferramentas úteis para desenvolvedores web. Uma das... 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 9 é um framework PHP moderno e poderoso que oferece muitas ferramentas úteis para desenvolvedores web. Uma das... Leia mais
Segue uma lista das extensões que mais utilizo em meu dia a dia como desenvolvedor quando uso o editor VisualStudio... Leia mais
PostgreSQL é um dos sistemas de gerenciamento de banco de dados mais populares, conhecido por sua robustez e recursos avançados.... Leia mais
Nesta semana o Postgres vem me desafiando, e meu pc também, porque por algum motivo o PGADMIN está demorando uma... Leia mais