geniusfactor/fibr-csv

一个基于Laravel的包,使批量导入CSV数据变得容易;是flynsarmy/csv-seeder的包装器

此包的官方仓库似乎已消失,因此该包已被冻结。

1.0.1 2018-02-26 12:05 UTC

This package is not auto-updated.

Last update: 2020-07-06 20:25:38 UTC


README

flynsarmy/csv-seeder提供的简单包装类;使得在一个种子器中批量导入CSV文件变得更加容易。

发行历史

  • 1.0.0 - 初次发布。

安装

在你的项目中,使用Composer引入依赖项

composer require 'geniusfactor/fibr-csv'

将以下条目添加到你的.env文件中,将报告每个导入的CSV文件(默认为false

DB_CSV_VERBOSE_OUTPUT=true

使用方法

  • 创建一个新的Seeder (php artisan make:seeder {SeederName} )
  • 将Seeder修改为继承自\FIBR\Seeders\CsvSeed
  • 定义一个数组,包含表名和关联的CSV文件的路径(相对于项目根目录)。
  • 将你的Seeder添加到DatabaseSeeder类中
  • 使用php artisan migrate db:seed进行测试!

代码示例

你的Seeder可以像这样简单

<?php

class seed_geo_tables extends \FIBR\Seeders\CsvSeed
{
    public function __construct()
    {
    }

    /**
    * Run the database seeds.
    *
    * @return void
    */
    public function run()
    {
        $tables = array(
            'countries'      => 'database/csv/common/geo/countries.csv',
            'territories'    => 'database/csv/common/geo/territories.csv',
            'municipalities' => 'database/csv/common/geo/municipalities.csv',
            'regions'        => 'database/csv/common/geo/regions.csv',
        );

        $this->bulkImport($tables);
    }

}
特别感谢