zhiephie/lushi

印度尼西亚行政区划数据静态 Eloquent 模型库。

0.2 2020-10-15 04:21 UTC

This package is auto-updated.

Last update: 2024-09-21 11:28:02 UTC


README

CI status

Lushi 是一个静态 Eloquent 模型库,用于存储印度尼西亚行政区划的固定数据,例如省份、区、县和村庄。

内容

安装 Lushi

您可以使用 Composer 将 Lushi 安装到您的应用程序中。

composer require zhiephie/lushi

无需额外设置。

使用模型

您可以像使用其他 Eloquent 模型一样与 Lushi 模型交互,但请注意,它只处理只读操作。

use Lushi\Models\Country;

Province::all(); // Get information about all provinces.

Province::find(11); // Get information about the ID 11.

Province::where('name', 'like', '%JAWA%')->get(); // Get information about all provinces that contain the character "JAVA".

可用模型

Lushi\Models\Province

Lushi\Models\Regency

Lushi\Models\District

模型关系

在您的应用程序中的模型和 Lushi 模型之间实现 Eloquent 关系非常简单。您可以采取几种方法。

使用继承

最简单的方法是在您的应用程序中创建一个新的模型,并让它扩展 Lushi 模型。您的新应用程序模型现在将像原始的 Lushi 模型一样表现,除了您可以注册新方法和自定义它以符合您的喜好。

<?php

namespace App\Models;

use Lushi\Models\Province as LushiProvince;

class Province extends LushiProvince
{
    public function users()
    {
        return $this->hasMany(User::class);
    }
}

有关使用此方法提供的更多自定义可能性,请参阅模型自定义部分。

列自定义

Lushi 允许您自定义任何提供的模型上的列名。

在您的应用程序中创建一个新的模型,并让它扩展您想要自定义的 Lushi 模型

<?php

namespace App\Models;

use Lushi\Models\Province as LushiProvince;

class Province extends LushiProvince
{
    protected $map = [
        'id' => 'province_code',
    ];
}

在此示例中,扩展 Lushi\Models\Province 模型的 App\Models\Province 模型将 province_code 列重映射到 id

use App\Models\Province;

Province::find(11)->province_code;

贡献

如果您有要贡献给库的固定数据,请发起一个拉取请求!

作为参考,请查看现有的模型。