ruwer/brcities

包含巴西所有城市的完整包。

dev-master 2018-11-29 17:14 UTC

This package is not auto-updated.

Last update: 2024-09-18 18:56:40 UTC


README

Codacy Badge Total Downloads Build Status

  • 一个包含所有巴西城市的数据库的 Laravel 5 包。
  • 选择州时自动填充城市。使用 Vanilla JS 构建。
  • Cep 包 兼容。

安装

在终端运行

composer require "ruwer/brcities":"dev-master"

打开文件 config/app.php 并将以下内容添加到 "providers"

'providers' => [
    // ...
    Ruwer\BRcities\BrcitiesServiceProvider::class,
],

将包文件发布到您的项目中。在终端运行

php artisan vendor:publish

现在您的项目中有了以下文件

  • database/migrations/2014_10_12_000000_create_cities_table.php
  • database/seeds/CitiesTableSeeder.php

您还在以下项目文件夹中有一个 brcities.js 的副本

  • public/js/brcities.js
  • resources/assets/js/brcities.js

所以,在终端运行

composer dump-autoload
php artisan migrate
php artisan db:seed --class="CitiesTableSeeder"

完成! :)

模型

现在您可以使用您的新模型 City,例如。

use Ruwer\BRcities\City;

$states = City::select("state")->distinct("state")->orderBy("state")->get();
$pr_cities = City::where("state", "=", "PR")->orderBy("name")->get();

路由

您还有以下路由返回 JSON,例如。

  • myproject.dev/states
  • myproject.dev/cities/PR

使用方法

创建您的表单

<form id="form">
  <select name="state" class="js-state"></select>
  <select name="city" class="js-city"></select>
</form>

包含 .js 文件

<script src="{{ asset('js/brcities.js') }}"></script>

调用脚本

<script>
  var cities = new Cities("#form");
</script>

选项

定义

//My Personal Options
var options = {
  stateInput: ".js-state", //default
  cityInput:  ".js-city", //default
  short: false //default (Long state names)
}

//Call the Script
var cities = new Cities("#form", options);

设置 占位符

<select name="state" class="js-state">
    <option value="">Please select...</option>
</select>
<select name="city" class="js-city">
    <option value="">Please select the state first...</option>
</select>

默认

<select name="state" class="js-state" value="PR"></select>
<select name="city" class="js-city" value="3595"></select>