cvepdb/laravel-addresses

此包已被放弃,不再维护。作者建议使用 cvepdb/laravel-addresses 包。

基于ISO 3166管理的地址存储库

dev-master 2017-02-01 16:50 UTC

This package is not auto-updated.

Last update: 2017-02-05 10:28:12 UTC


README

将地址列表与用户关联。允许将地址标记为主要、账单或发货。用户可能有多个地址,但只有一个主要地址、发货地址或账单地址。

包含示例视图和控制器。我建议你不要直接使用它们,而是将它们作为示例代码进行复制和粘贴。

Composer 安装

Laravel 5.2
"require": {
    "cvepdb/laravel-addresses": "dev-master"
}

运行迁移

php artisan vendor:publish --provider="CVEPDB\Addresses\App\Providers\AddressesServiceProvider"

安装服务提供者

'providers' => array(
    CVEPDB\Addresses\App\Providers\AddressesServiceProvider::class,
),

示例用法

\Addresses::getAll($user->id); // get all users

if(Addresses::getValidator()->fails()) { } // validate before saving

$address = Addresses::createAddress(\Input::all()); // this does not auto-validate

$address = Addresses::updateAddress(\Input::all()); // this does not auto-validate

Addresses::deleteAddress($address);

Addresses::setPrimary($address); // set address as primary (and unset the others)

Addresses::getPrimary();

Addresses::getShipping($userId);

Addresses::getBilling();

视图模板

@include('addresses::fields') <!-- bootstrap fields with no form tags -->

@foreach($addresses as $address)
    @include('addresses::view', compact('separator'=>'<br>')) <!-- read-only html of address -->
@endforeach

如果您想直接在 CVEPDB\Addresses\Address 模型上调用,可以。但您在读取/写入时必须小心。提供的 \Addresses 方法会对当前登录用户进行检查,并确保没有重复的主要地址。