awalhadi / addressable
Laravel Eloquent 地址管理库。管理超过一个模型的地址
v1.0.4
2022-12-02 03:55 UTC
Requires
- jackpopp/geodistance: ^1.2.3
- rinvex/countries: ^8.1.1
README
Laravel Addressable 是一个多态的 Laravel 扩展包,用于管理不同类型的地址。您可以使用 Laravel addressable 包将地址添加到任何 eloquent 模型中。希望它能帮助您并使您的生活更轻松。
支持我以获取灵感并保持更新
安装
-
通过 composer 安装此包
composer require awalhadi/addressable
-
执行以下数据库迁移
php artisan migrate
-
公共配置文件
php artisan vendor:publish --provider="Awalhadi\Addressable\Providers\AddressableServiceProvider" --tag="config"
设置完成
开始使用
如果您想添加地址的模型,只需在您的 eloquent 模型中使用以下 Addressable
特性
use Awalhadi\Addressable\Traits\Addressable; class ModelName { use Addressable; }
管理您的地址
// Get instance of your model $user = new \App\Models\User::find(1); // Create a new address $user->addresses()->create([ 'label' => 'Default Address', 'given_name' => 'A Awal', 'family_name' => 'Hadi', 'organization' => 'ITclan BD', 'country_code' => 'bd', 'street' => '10 Azompur Uttora', 'state' => 'Rajshahi', 'city' => 'Natore', 'postal_code' => '6400', 'lat' => '24.4547889', 'lng' => '88.9717818', 'is_primary' => true, 'is_billing' => true, 'is_shipping' => true, ]); // Create multiple new addresses $user->addresses()->createMany([ [...], [...], [...], ]); // Alternative way of address deletion $user->addresses()->where('id', 123)->first()->delete();
管理您的可地址模型
API 直观且非常直接,让我们快速了解一下
// Get instance of your model $user = new \App\Models\User::find(1); // Get attached addresses collection $user->addresses; // Get attached addresses query builder $user->addresses(); // Find all users within 5 kilometers radius from the lat/lng 31.2467601/29.9020376 $fiveKmAddresses = \App\Models\User::findByDistance('31.2467601', '29.9020376')->get(); $fiveKmAddresses = \App\Models\User::findByDistance('31.2467601', '29.9020376', 5, 'kilometers')->get();
findByDistance
方法除了四个参数外 findByDistance(latitude, longitude, distance=10, unit=kilometers)
更新日志
支持
生成免费二维码
👉 如果您有兴趣成为此包的主要维护者,请 联系我!
许可
此软件根据 MIT 许可证 (MIT) 发布。
(c) 2022 awalhadi,版权所有。