aecor/addressable

为用户添加多个地址

1.0.3 2021-02-23 06:13 UTC

This package is auto-updated.

Last update: 2024-09-23 14:18:34 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

安装

您可以通过composer安装此包

composer require aecor/addressable

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --provider="Aecor\Address\AddressServiceProvider" --tag="migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Aecor\Address\AddressServiceProvider" --tag="config"

这是已发布配置文件的内容

return [
    'table-name' => 'addresses'
];

使用方法和一些示例

准备您的模型

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Aecor\Address\Traits\HasAddress;

class YourModel extends Model
{
    use HasAddress;
}

获取您的模型实例

$user = \App\Models\User::find(1);

添加单个联系人

$user->addAddress([
    'type' => 'office',
    'unit' => 'A',
    'house_number' => '10',
    'street' => 'Some street',
    'suburb' => 'Some suburb',
    'postcode' => '123',
    'custom_attributes' => [
        'open_at' => '09:00',
        'close_at' => '06:00'
    ],                          // Optional field
    'order_column' => 1         // Optional field
]);

以下数据库中提供了所有常用字段,您还可以在'custom_attributes'字段中存储自己的详细信息作为json。所有字段均设置为可空,以简化实现。

'type'
'unit'
'house_number'
'street'
'suburb'
'postcode'
'city'
'state'
'latitude'
'longitude'
'custom_attributes' // json field to add any additional data
'order_column'

添加多个联系人

$user->addManyAddresses([
    [
        'type' => 'home',
        'unit' => 'A',
        'house_number' => '10',
        'street' => 'Some street 1',
        'suburb' => 'Some suburb 1',
        'postcode' => '123',
    ],
    [
        'type' => 'office',
        'unit' => 'B',
        'house_number' => '1',
        'street' => 'Some street 2',
        'suburb' => 'Some suburb 2',
        'postcode' => '456',
    ]
]);

获取所有联系人

$user->addresses;

获取满足条件的联系人

$user->addresses()->where('type', 'home')->get();

变更日志

请参阅CHANGELOG了解最近更改的详细信息。

贡献

请参阅CONTRIBUTING获取详细信息。

安全漏洞

请查看我们的安全策略了解如何报告安全漏洞。

鸣谢

许可协议

MIT许可(MIT)。有关更多信息,请参阅许可文件