Formas de Paginação de Dados no Laravel
No desenvolvimento de aplicações web, a paginação de dados é um recurso fundamental quando se trabalha com grandes volumes de... 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.
No desenvolvimento de aplicações web, a paginação de dados é um recurso fundamental quando se trabalha com grandes volumes de... Leia mais
Para rodar uma migration específica no Laravel, você pode usar o comando migrate com a opção --path. Siga os passos... 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
Tabela para consulta rápida a convenção de nomes utilizadas em projetos Laravel: Leia mais