承接 nh/addressable 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nh/addressable

Composer 安装命令:

composer require nh/addressable

包简介

Make a Laravel model addressable

README 文档

README

Install the package via composer:

composer require nh/addressable

Publish the databases and the models for the addresses:

php artisan vendor:publish --tag=addressable

To make a model addressable, add the Addressable trait to your model:

use Nh\Addressable\Traits\Addressable;

use Addressable;

/**
 * Default addressable type.
 * @var array
 */
protected $addressable = [
  'type' => null
];

Views

Add/Update an/some address/es automatic

You can add a single address The name must be address['field']

<input type="text" name="address[id]" />
<input type="text" name="address[type]" />
<input type="text" name="address[street_1]" />
<input type="text" name="address[street_2]" />
<input type="text" name="address[zip]" />
<input type="text" name="address[city]" />
<input type="text" name="address[state]" />
<input type="text" name="address[country]" />

Or multiple addresses The name must be addresses['type']['field']

<input type="text" name="addresses[billing][id]" />
<input type="text" name="addresses[billing][street_1]" />
<input type="text" name="addresses[billing][street_2]" />
<input type="text" name="addresses[billing][zip]" />
<input type="text" name="addresses[billing][city]" />
<input type="text" name="addresses[billing][state]" />
<input type="text" name="addresses[billing][country]" />

Model

Attributes

You can retrieve all addresses of a model with

$user->addresses

Or you can retrieve the default address. You have to add in the model the default address type

$user->address

Or you can retrieve all addresses (or only the last one) by type.

$user->addressesByType('billing')
$user->addressByType('billing')

And you can retrieve the postal address postal formated.

$user->address->postal

You can check if a model have some addresses

$customer->hasAddresses() // Check if there any addresses
$customer->hasAddresses(false,'default') // Check if there any addresses with type 'default'
$customer->hasAddresses(true) // Check if there any addresses, even in the trash
$customer->hasAddresses(true,'default') // Check if there any addresses with type 'default', even in the trash

Functions

To add an address

$user->setAddress(['type' => 'billing', 'street_1' => 'My streetname']);

To add multiple addresses

$user->setAddresses([
    'billing' => ['street_1' => 'My streetname for Billing'],
    'shipping' => ['street_1' => 'My streetname for Shipping'],
])

Events

You can use the AddressEvent for dispatch events that happen to the addresses. You can pass a name, the parent model, the address model (or null) and the number of addresses affected

AddressEvent::dispatch('my-event', $model, $address, 1);

统计信息

  • 总下载量: 43
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-08-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固