laralabs/geo-sorter

Laravel Collections 的邮编距离排序包。

v3.0.4 2024-03-13 20:04 UTC

README

Laravel Collections 的邮编距离排序包。

仅适用于英国邮编

🚀 快速开始

安装

在项目的 composer.json 中要求该包。

composer require laralabs/geo-sorter

发布配置文件。

php artisan vendor:publish --tag=geosorter-config

编辑配置文件并设置您的首选设置。如果您想使用自定义的数据库表名,在此处设置它,并在进行下一步之前缓存您的配置。

通过运行以下命令创建邮编表:

php artisan migrate

数据库表创建完成后,运行以下命令用最新的英国邮编区数据填充它。

php artisan geosorter:update

使用方法

有一个辅助函数和外观可供选择。选择您喜欢的方 法。`sortByPostcode` 方法接受三个参数,第三个参数是一个可选的 $sort,可以用来覆盖在配置中定义的排序顺序。

外观

<?php
$collection = Addresses::all();
$postcode   = 'B61 XYZ';

$collection = GeoSorter::sortByPostcode($collection, $postcode, 'ASC');

辅助函数

<?php
$collection = Addresses::all();
$postcode   = 'B61 XYZ';

$collection = geo_sorter()->sortByPostcode($collection, $postcode);

上述代码将按给定邮编 B61 XYZ 的距离对地址集合进行排序。

📌 致谢

Ayeo/Geo 用于计算坐标之间的距离。

💬 支持

如果有问题,请在 GitHub 上提出问题。

🔑 许可证

这是一个开源软件,根据 MIT 许可证 发布。