Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/matriphe/laraciproid

Indonesia city and province data migration and seeder for Laravel.
https://github.com/matriphe/laraciproid

city hacktoberfest indonesia laravel province seeder

Last synced: 2 months ago
JSON representation

Indonesia city and province data migration and seeder for Laravel.

Awesome Lists containing this project

README

        

# Laraciproid
## Laravel City Province ID

Indonesia city and province data migration and seeder for Laravel 5.x.

### Installation

Using composer, run this command from your Laravel's project root directory:

```bash
composer require matriphe/laraciproid:~1.0
```

### Configuration

#### Laravel 5.5

Nothing to do. Laraciproid will be loaded automatically.

#### Laravel 5.1, 5.2, 5.3, and 5.4

Open `config/app.php` and add this line on autoloaded service providers section.

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

#### Laravel 5.0

Open `config/app.php` and add this line on autoloaded service providers section.

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

### Publish Vendor

```bash
php artisan vendor:publish
```

Or if you want to more specific, and want to force the vendor publishing.

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

This command will add these files to your project:

* `config/laraciproid.php`, the configuration file containing tables name.
* `database/migrations/2015_09_28_175100_create_city_province_tables`, the migration file.
* `database/sql/city.sql`, SQL file for city seed.
* `database/sql/province.sql`, SQL file for province seed.
* `database/json/cities.json`, JSON file for cities seed.
* `database/json/provinces.json`, JSON file for provinces seed.
* `database/seeds/LaraciproidSeeder.php`, table seeder file, read the SQL data.
* `app/Models/City.php`, city model file.
* `app/Models/Province.php`, province model file.

### Run Migration

```bash
php artisan migrate
```

### Run Database Seeder

```bash
php artisan db:seed --class=LaraciproidSeeder
```
You can add this file to your `database/seeds/DatabaseSeeder.php` to make it auto loaded on seeding command.

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

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

### Relationship

Province table has one to many relationship of City table.

```php
// 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;
```

### License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.