lwwcas/laravel-countries

所有国家的列表,针对Laravel 8和9优化

3.5.1 2024-09-12 16:04 UTC

This package is auto-updated.

Last update: 2024-09-13 18:12:16 UTC


README

Latest Version on Packagist Total Downloads

简短描述

Laravel-Countries是一个包含启动新项目所需的所有内容(包括所有国家、信息和翻译)的包。并且所有这些都已针对Laravel 8、9和现在的10进行了优化。

该包直接将所有数据提供给您的数据库,允许您以简单和常规的方式将数据库中的任何其他表与国家表关联起来。

地质和拓扑地图

在众多其他信息中,您还可以绘制国家地图

支持的语言?

要求

安装

您可以通过Composer安装此包

composer require lwwcas/laravel-countries
composer dump-autoload
  • 在database\seeds\DatabaseSeeder.php的run函数中添加此行
$this->call(\Lwwcas\LaravelCountries\Database\Seeders\LcDatabaseSeeder::class);
  • 运行迁移
php artisan migrate
  • 运行种子或仅运行LcDatabaseSeeder类
php artisan db:seed

使用方法

您可以通过简单的查询访问数据库中的所有信息

use  Lwwcas\LaravelCountries\Models\Country;

Country::whereIso('BR')->first();
Country::whereIsoAlpha3('BRA')->first();
Country::whereSlug('brasil')->first();

如何将其集成到我的项目中?

在您的表中,您可以简单地添加外键。

仅此即可允许您与国家表建立关系

$table->integer('lc_country_id')->unsigned();

虽然是可选的,但强烈建议您使用Laravel提供的外键约束

$table->foreign('lc_country_id')->references('id')->on('lc_countries');

用户表实现示例

与区域表建立关系

$table->tinyInteger('lc_region_id')->unsigned();
$table->foreign('lc_region_id')->references('id')->on('lc_regions');

仔细查看模型,看看该包如何简化这一过程

国家

国家翻译

国家区域

国家区域翻译

国家地理

示例数据

{
  "id": 30,
  "lc_region_id": 2,
  "uuid": "343d2082-f6fb-42e6-ac7a-f78dad39de31",
  "slug": "brazil",
  "name": "Brazil",
  "official_name": "Federative Republic of Brazil",
  "iso_alpha_2": "BR",
  "iso_alpha_3": "BRA",
  "iso_numeric": 76,
  "geoname_id": "3469034",
  "international_phone": "55",
  "languages": "[pt]",
  "tld": "[.br]",
  "wmo": "BZ",
  "emoji": {
    "img": "🇧🇷",
    "uCode": "U+1F1E7 U+1F1F7"
  },
  "color_hex": [
    "#008000",
    "#ffff00"
  ],
  "color_rgb": [
    "0,128,0",
    "255,255,0"
  ],
  "coordinates": {
    "latitude": {
      "classic": "10 00 S",
      "desc": "-10.81045150756836"
    },
    "longitude": {
      "classic": "55 00 W",
      "desc": "-52.97311782836914"
    }
  },
  "coordinates_limit": {
    "latitude": {
      "max": "5.266667",
      "min": "-33.733333"
    },
    "longitude": {
      "max": "-28.85",
      "min": "-73.75"
    }
  },
  "visible": true,
  "translations": [
    {
      "id": 30,
      "lc_country_id": 30,
      "name": "Brazil",
      "slug": "brazil",
      "locale": "en"
    }
  ]
}

测试

composer test

更新日志

请参阅更新日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件lwwcas@gmail.com联系,而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。