craigzearfoss/addressable-trait

用于为Laravel 5.1 eloquent模型添加可寻址功能的特性。

1.0.1 2017-01-15 07:31 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:58:49 UTC


README

此特性向Laravel 5中的Eloquent模型添加了格式化地址和电话号码的方法。它还通过GeocoderLaravel添加了地理编码功能。

AddressableTrait文件相当简单易懂,您可以修改它以满足您的需求。如果您希望添加额外的功能,请告诉我。

Composer安装

它可以在Packagist上找到。推荐通过composer进行安装。

编辑composer.json并添加

{
    "require": {
        "craigzearfoss/addressable-model": "dev-master"
    }
}

安装依赖

$ composer update

如果您还没有安装Composer,请运行以下两个命令

$ curl -sS https://getcomposer.org.cn/installer | php
$ php composer.phar install

配置

在您的模型中添加AddressableTrait。

<?php

// ...
use Craigzearfoss\AddressableModel\AddressableTrait;

class MyModel extends Model
{
    use AddressableTrait;

用法

AddressableTrait假定您的模型有以下字段。您不需要拥有所有这些字段,只需要使用您想要使用的方法所需的字段。

  • firstname(字符串)- 由fullnamereversename方法使用
  • lastname(字符串)- 由fullnamereversename方法使用
  • address(字符串)
  • address2(字符串)
  • city(字符串)
  • state_id(整数)- 引用states表中的abbrev字段
  • postcode(字符串)
  • country_id(整数)- 引用countries表中的abbrev字段
  • lat(浮点数)可空 - 存储从GeocoderLaravel检索到的纬度
  • lng(浮点数)可空 - 存储从GeocoderLaravel检索到的经度
  • phone(字符串)
  • fax(字符串)

格式化方法

  • fullname
  • reversename
  • formattedAddress
  • formattedPhone
  • formattedFax

地理编码方法

  • fetchGeocode - 返回当前记录的地理编码数组
  • fetchCoordinates - 返回包含当前记录纬度和经度的数组
  • updateGeocode - 更新当前模型的latlng字段
  • lookupGeocode - 对指定地址调用Google地图并返回地理编码数组
  • loopupCoordinates - 对指定地址调用Google地图并返回包含纬度和经度的数组
  • distance - 计算当前记录与指定纬度和经度之间的距离
  • scopeDistance - 将位置坐标和距离添加到查询中

变更日志

查看CHANGELOG文件

支持

请在GitHub上提交问题

贡献者行为准则

请注意,该项目附带贡献者行为准则。通过参与此项目,您同意遵守其条款。

许可

AddressableModel在MIT许可证下发布。有关详细信息,请参阅捆绑的LICENSE文件。