matrife/laraciproid

Laravel的印度尼西亚城市和省份数据迁移和种子工具。

1.4 2017-09-07 05:25 UTC

This package is auto-updated.

Last update: 2024-09-21 20:36:07 UTC


README

Laravel城市省份ID

为Laravel 5.x提供的印度尼西亚城市和省份数据迁移和种子工具。

安装

使用composer,从您的Laravel项目根目录运行以下命令

composer require matriphe/laraciproid:~1.0

配置

Laravel 5.5

无需操作。Laraciproid将自动加载。

Laravel 5.1, 5.2, 5.3和5.4

打开config/app.php并在自动加载的服务提供者部分添加以下行。

'providers' => [
	...
	Matriphe\Laraciproid\ServiceProvider::class,
	...
],

Laravel 5.0

打开config/app.php并在自动加载的服务提供者部分添加以下行。

'providers' => [
        ...
        'Matriphe\Laraciproid\ServiceProvider',
        ...
],

发布供应商

php artisan vendor:publish

或者,如果您希望更具体,并希望强制发布供应商。

php artisan vendor:publish --provider="Matriphe\Laraciproid\ServiceProvider" --force

此命令将添加以下文件到您的项目

  • config/laraciproid.php,包含表名的配置文件。
  • database/migrations/2015_09_28_175100_create_city_province_tables,迁移文件。
  • database/sql/city.sql,城市种子的SQL文件。
  • database/sql/province.sql,省份种子的SQL文件。
  • database/json/cities.json,城市种子的JSON文件。
  • database/json/provinces.json,省份种子的JSON文件。
  • database/seeds/LaraciproidSeeder.php,表种子文件,读取SQL数据。
  • app/Models/City.php,城市模型文件。
  • app/Models/Province.php,省份模型文件。

运行迁移

php artisan migrate

运行数据库种子

php artisan db:seed --class=LaraciproidSeeder

您可以将此文件添加到您的database/seeds/DatabaseSeeder.php中,以便在种子命令时自动加载。

public function run()
{
    Model::unguard();

    $this->call('LaraciproidSeeder');
}

关系

省份表与城市表具有一对多关系。

// Get all cities under DI Yogyakarta (province_id = 34)
$cities = App\Models\Province::find(34)->cities;

foreach ($cities as $city) {
    // Do something
}

// Get province name of Bogor (city_id = 3271)
$city = App\Models\City::find(3271);
$province_name = $city->province->province_name;

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件