rinvex / laravel-addresses
此包已被废弃,不再维护。没有建议的替代包。
Rinvex Addresses 是一个多态 Laravel 包,用于地址簿管理。您可以轻松地将地址添加到任何 Eloquent 模型中。
v6.1.0
2022-02-14 07:55 UTC
Requires
- php: ^8.0.0
- illuminate/console: ^9.0.0 || ^10.0.0
- illuminate/database: ^9.0.0 || ^10.0.0
- illuminate/support: ^9.0.0 || ^10.0.0
- jackpopp/geodistance: ^1.2.0
- rinvex/countries: ^8.0.0
- rinvex/laravel-support: ^6.0.0
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.31.0
- illuminate/container: ^9.0.0 || ^10.0.0
- phpunit/phpunit: ^9.5.0
README
⚠️ 此包已被废弃,不再维护。没有建议的替代包。 ⚠️
👉 如果您有兴趣成为此包的主要维护者,请 联系我!
Rinvex Addresses 是一个多态 Laravel 包,用于地址簿管理。您可以轻松地将地址添加到任何 Eloquent 模型中。
安装
-
通过 composer 安装包
composer require rinvex/laravel-addresses
-
发布资源(迁移和配置文件)
php artisan rinvex:publish:addresses
-
执行以下命令来执行迁移
php artisan rinvex:migrate:addresses
-
完成!
使用
要将地址支持添加到您的 Eloquent 模型,只需使用 \Rinvex\Addresses\Traits\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' => 'Abdelrahman', 'family_name' => 'Omran', 'organization' => 'Rinvex', 'country_code' => 'eg', 'street' => '56 john doe st.', 'state' => 'Alexandria', 'city' => 'Alexandria', 'postal_code' => '21614', '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('rinvex.addresses.address')->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();
管理您的可地址模型
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(); // Scope Primary Addresses $primaryAddresses = app('rinvex.addresses.address')->isPrimary()->get(); // Scope Billing Addresses $billingAddresses = app('rinvex.addresses.address')->isBilling()->get(); // Scope Shipping Addresses $shippingAddresses = app('rinvex.addresses.address')->isShipping()->get(); // Scope Addresses in the given country $egyptianAddresses = app('rinvex.addresses.address')->InCountry('eg')->get(); // Find all users within 5 kilometers radius from the latitude/longitude 31.2467601/29.9020376 $fiveKmAddresses = \App\Models\User::findByDistance(5, 'kilometers', '31.2467601', '29.9020376')->get(); // Alternative method to find users within certain radius $user = new \App\Models\User(); $users = $user->lat('31.2467601')->lng('29.9020376')->within(5, 'kilometers')->get();
变更日志
请参阅 变更日志 了解项目的完整历史。
支持
以下支持渠道随时可供您使用
贡献 & 协议
感谢您考虑为这个项目做出贡献!贡献指南可在 CONTRIBUTING.md 中找到。
欢迎提交错误报告、功能请求和拉取请求。
安全漏洞
如果您在此项目中发现安全漏洞,请发送电子邮件至 help@rinvex.com。所有安全漏洞都将得到及时处理。
关于 Rinvex
Rinvex 是一家成立于2016年6月的开罗,埃及的软件解决方案初创公司,专注于为中小企业提供集成企业解决方案。我们相信,我们的动力“价值、范围和影响”是我们与众不同的地方,并通过软件的力量激发我们哲学的无尽可能性。我们喜欢称之为“以生命之速的创新”。这就是我们如何为推进人类文明做出贡献。
许可
本软件遵循MIT 许可证 (MIT)发布。
(c) 2016-2022 Rinvex LLC,部分权利保留。