Geo Sorter for Laravel
Postcode distance sorting package for Laravel Collections.
UNITED KINGDOM POSTCODES ONLY
🚀 Quick Start
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
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.
<?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);
The above code would sort the Addresses collection in distance from the given postcode
Ayeo/Geo is used to calculate the distance between coordinates.
Please raise an issue on GitHub if there is a problem.
This is open-sourced software licensed under the MIT License.