soap / thai-addresses
Laravel 应用程序的泰国省份数据库
v3.1.1
2024-04-24 07:52 UTC
Requires
- php: ^8.1|^8.2
- illuminate/contracts: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- larastan/larastan: ^2.0.1
- nunomaduro/collision: ^6.0|^7.0
- orangehill/iseed: ^3.0
- orchestra/testbench: ^8.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-27 22:45:06 UTC
README
此包提供了基本的泰国省份数据库,包括区和次区。还提供了可与之一起使用的可寻址模型。
版本支持
支持我们
我们非常感谢您从家乡寄给我们明信片,并提及您正在使用哪些我们的包。您可以在我们的联系页面找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上。
要求
肥皂/thai-addresses v2.x 对于 Laravel 9 和 PHP 8.0 或 8.1。如果您使用 Laravel 8,请参阅版本 1.x。
安装
您可以通过 composer 安装此包
composer require soap/thai-addresses
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="thai-addresses-config"
这是发布配置文件的内容
return [ // model definition "geography" => [ "table_name" => "thai_geographies", "foreign_key" => "geography_id" ], "province" => [ "table_name" => "thai_provinces", "foreign_key" => "province_id" ], "district" => [ "table_name" => "districts", "foreign_key" => "district_id" ], "subdistrict" => [ "table_name" => "subdistricts", ], "address" => [ "table_name" => "addresses", "model" => \Soap\ThaiAddresses\Models\Address::class ] ];
您可以在配置文件中更改所有模型的表名。
然后,您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="thai-addresses-migrations"
php artisan migrate
可选地,您可以使用安装命令安装配置和迁移文件。
php artisan thai-addresses:install
使用
如果您只想使用省份、区和次区数据,只需运行数据库播种即可。
php artisan thai-addresses:db-seed
这将安装所有泰国地址数据到数据库中,如 thai-addresses.conf 文件中配置的那样。
管理您的地址
要为您的 eloquent 模型添加地址支持,只需使用 \Soap\ThaiAddresses\Traits\HasAddress 特性。此包提供多态地址模型。通过使用此功能,任何模型都可以拥有地址。
在您的 App\Models\User.php
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Soap\ThaiAddresses\Tests\Database\Factories\UserFactory; use Soap\ThaiAddresses\Traits\HasAddress; class User extends Authenticatable { use HasFactory; use HasAddress; protected $guarded = []; protected $fillable = [ 'name', 'email', ]; }
然后您的用户可以有地址了!
// Get instance of your model $user = new \App\Models\User::find(1); // Create a new address $user->addresses()->create([ 'label' => 'Default Address', 'given_name' => 'Prasit', 'family_name' => 'Gebsaap', 'organization' => 'KPS Academy', 'street' => '1/8 Watchara road', 'subdistrict_id' => Subdistrict::where('name_th','=','กระบี่ใหญ่')->first()->id, 'latitude' => '31.2467601', 'longitude' => '29.9020376', 'is_primary' => true, 'is_billing' => true, 'is_shipping' => true, ]); // Create multiple new addresses $user->addresses()->createMany([ [...], [...], [...], ]); // Find an existing address $address = app('thai-addresses.address.model')->find(1); // Update an existing address $address->update([ 'label' => 'Default Work Address', ]); // Delete address $address->delete(); // Alternative way of address deletion $user->addresses()->where('id', 123)->first()->delete();
测试
composer test
变更日志
有关最近更改的更多信息,请参阅变更日志。
贡献
有关详细信息,请参阅贡献指南。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅我们的安全策略。
致谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅许可文件。