rinvex/addresses

该软件包已被废弃且不再维护。作者建议使用rinvex/laravel-addresses软件包。

Rinvex Addresses是一个多态的Laravel软件包,用于地址簿管理。您可以轻松地将地址添加到任何Eloquent模型中。

v0.0.5 2018-09-29 02:02 UTC

This package is auto-updated.

Last update: 2022-02-01 13:09:39 UTC


README

Rinvex Addresses是一个多态的Laravel软件包,用于地址簿管理。您可以轻松地将地址添加到任何Eloquent模型中。

⚠️ 此软件包已被重命名,现在在rinvex/laravel-addresses维护,作者建议使用新软件包。旧软件包支持Laravel v5.6及以下版本,而新软件包支持Laravel v5.7及以上版本。

Packagist Scrutinizer Code Quality Code Climate Travis StyleCI License

安装

  1. 通过Composer安装软件包

    composer require rinvex/addresses
  2. 执行以下命令进行迁移

    php artisan rinvex:migrate:addresses
    
  3. 完成!

使用方法

要为您的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-2018 Rinvex LLC,部分权利保留。