matrife / laraciproid
Laravel的印度尼西亚城市和省份数据迁移和种子工具。
1.4
2017-09-07 05:25 UTC
Requires
- ext-json: *
- illuminate/database: 5.*
- illuminate/support: 5.*
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)。有关更多信息,请参阅许可证文件。