zhiephie / lushi
印度尼西亚行政区划数据静态 Eloquent 模型库。
0.2
2020-10-15 04:21 UTC
Requires
- php: ^7.2
- calebporzio/sushi: ^2.1
- illuminate/database: ^7.0 || ^8.0
Requires (Dev)
- orchestra/testbench: ^6.2
- phpunit/phpunit: ^9.4
README
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;
贡献
如果您有要贡献给库的固定数据,请发起一个拉取请求!
作为参考,请查看现有的模型。