Download the PHP package algolia/laravel-scout-algolia-macros without Composer
On this page you can find all versions of the php package algolia/laravel-scout-algolia-macros. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download algolia/laravel-scout-algolia-macros
More information about algolia/laravel-scout-algolia-macros
Files in algolia/laravel-scout-algolia-macros
Package laravel-scout-algolia-macros
Short Description A collection macros to extend Laravel Scout with more Algolia capabilities
License MIT
Homepage https://github.com/algolia/laravel-scout-algolia-macros
Informations about the package laravel-scout-algolia-macros
DEPRECATED: Use of this repository is deprecated. Please use Scout Extended - https://github.com/algolia/scout-extended instead.
Laravel Scout Algolia Macros
A collection of useful macros to extend Laravel Scout capabilities when using the Algolia engine.
This package aims to provide a set of macros to take advantage of the Algolia-specific feature.
Installation
Pull the package using composer
Next, you should add the Algolia\ScoutMacros\ServiceProvider
to the providers
array of your config/app.php
configuration file:
Usage
count
The count method will return the number of results after the request to Algolia.
The point is to avoid pull data from the database and building the collection.
hydrate
The hydrate
method is similar to the standard get() method, except it hydrates the models from your Algolia index.
By default, Scout will use the IDs of the results from Algolia and pull the data from the local database to create the collection.
Hence, hydrate
will be much faster than get
.
Note: By using this method you must be sure that you are correctly keeping your algolia index in sync with your database to avoid populating stale data.
Restrict attributes
By default, this method will add all attributes from Algolia's record to your model. If you want to remove sensitive or irrelevant data from your model, you have two options.
You can set a list of retrievable attributes in your Algolia dashboard. In this case, Algolia will only return these attributes while still searching every searchableAttributes
.
You may as well use the laravel $guarded
attributes of your model class. For instance, if you don't want to see the _h
attribute in your collection, you will have the following.
with
The with
method gives you complete access to the Algolia options parameter. This allows you
to customise the search parameters exactly the same as you would using the algolia php library directly.
Simple example
Advanced example
aroundLatLng
ThearoundLatLng
method will add geolocation parameter to the search request. You
can define a point with its coordinate.
Note that this method is pure syntactic sugar, you can use with
to specify more location details (like radius for instance)
Where clauses can also be added
Contributing
Feel free to open an issue to request a macro.
Open any pull request you want, so we can talk about it and improve the package. :tada: