artesaos / cidadesbr

Tenha no banco de dados do seu projeto Laravel a tabela de cidades brasileiras
53 stars 20 forks source link

Cidades BR

Tenha no banco de dados do seu projeto Laravel a tabela de cidades brasileiras

Latest Stable Version Total Downloads Maintainer License

Como usar

Adicione o package

$ composer require artesaos/cidadesbr

Adicione o Provider no arquivo config/app.php

// file START ommited
'providers' => [
    // other providers ommited
    'Artesaos\Providers\CidadesServiceProvider',
],
// file END ommited

Importe migrations/seeds

$ php artisan vendor:publish --provider="Artesaos\Providers\CidadesServiceProvider"

Execute

$ composer dump-auto
$ php artisan migrate
$ php artisan db:seed --class="CidadesSeeder"

Model Artesaos\Cidade

O model Artesaos\Cidade já está disponível para uso:

<?php

namespace Artesaos;

use Illuminate\Database\Eloquent\Model;

class Cidade extends Model{

    public $timestamps = false;

    protected $fillable = ['nome', 'uf'];
}

Rotas

As rotas abaixo já estão disponíveis para uso:

Route::get('/ufs/', function($uf = null){
    return response()->json(\Artesaos\Cidade::select('uf')->distinct('uf')->orderBy('uf')->get());
});

Route::get('/cidades/{uf}', function($uf = null){
    return response()->json(\Artesaos\Cidade::where('uf', $uf)->orderBy('nome')->get());
});

jQuery helper

Se desejar, um plugin está disponível para carregar seus selectBoxes via ajax.

Adicione o scripts.js

<script src="https://github.com/artesaos/cidadesbr/raw/master/vendor/artesaos/cidades/js/script.js"></script>

HTML:

<select id="uf" default="MG"></select>
<select id="cidade"></select>

JS:

$('#uf').ufs({
    onChange: function(uf){
        $('#cidade').cidades({uf: uf});
    }
});