Skip to content

Laralabs/geo-sorter

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 

Geo Sorter for Laravel

Postcode distance sorting package for Laravel Collections.

UNITED KINGDOM POSTCODES ONLY

πŸš€ Quick Start

Installation

Require the package in the composer.json of your project.

composer require laralabs/geo-sorter

Publish the configuration file.

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

Edit the configuration file and set your desired settings. If you want to use a custom database table name, set it here and cache your config before moving onto the next step.

Create the postcodes table by running the following command:

php artisan migrate

Once the database table has been created, run the following command to populate it with the latest UK Postcode District data.

php artisan geosorter:update

Usage

A helper function and facade are available, choose your preferred method. The sortByPostcode method accepts three arguments, the third argument being an optional $sort which can be used to override the sort order defined in the config.

Facade:

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

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

Helper:

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

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

The above code would sort the Addresses collection in distance from the given postcode B61 XYZ.

πŸ“Œ Credits

Ayeo/Geo is used to calculate the distance between coordinates.

πŸ’¬ Support

Please raise an issue on GitHub if there is a problem.

πŸ”‘ License

This is open-sourced software licensed under the MIT License.

About

Postcode distance sorting package for Laravel Eloquent Collections

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages