Download the PHP package testmonitor/eloquent-searchable without Composer

On this page you can find all versions of the php package testmonitor/eloquent-searchable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package eloquent-searchable

Eloquent Searchable

Latest Stable Version codecov StyleCI License

A package that provides a search feature for Eloquent models. You can define SearchAspects for your Eloquent model that use different search techniques, such as an exact match or partial match.

It is heavily inspired by Spatie's Query Builder and can be used in conjunction with this package.

Table of Contents

Installation

This package can be installed through Composer:

Next, publish the configuration file:

The configuration file allows you the change the HTTP parameter name as well as the minimal query length.

Usage

To add searchable functionality to your Eloquent model, follow these steps:

  1. Use the trait in your model(s).
  2. Include the searchUsing scope together with one or more SearchAspects.

Add the searchable trait on the models you want to make searchable:

Next, include the searchUsing scope with SearchAspects to define your search strategy:

In this example, the controller provides a way to search through a set of users:

The search query is automatically derived from the HTTP request. You can modify the HTTP query parameter in the configuration file. By default, the name query is used.

Aspects

A model's search strategy is defined by search aspects. An aspect defines a matching configuration. For example, the exact search aspect perfoms an exact search on the provided attribute.

Eloquent Searcheable provides multiple aspects out of the box. Additionally, you can also define your own matching configuration using the custom aspect.

Exact match

The Exact search aspect will only return matches that are equal to the search term.

Partial match

The Partial search aspect returns matches where the search query occurs anywhere within the given attribute.

JSON match

The JSON search aspect returns matches where the search query occurs anywhere within the given JSON attribute.

Prefix match

The Prefix aspect combines the exact and partial strategy with the ability to strip one or more characters from the search query. This can be useful when your application provides an incremental code with a prefix to your user (say, ISSUE-12), but only store the number in your database (which would be the number 12).

As a default, the partial match strategy is used. Using the exact parameter, you can enable exact matching.

Custom aspect

You can create your own search aspect by creating a class that implements the TestMonitor\Searchable\Contracts\Search contract.

Let's implement a new search aspect: a strategy that matches the beginning of an attribute. Your custom search aspect would look something like this:

To use this custom aspect, define it in your search criteria like this:

Search weighing

Optionally, you can use search weights. Weighing prioritizes search criteria, placing results with higher weights at the top.

Let's make a Post model searchable and use the following criteria:

Here's an example that implements these criteria:

Search related models

Use dotted notation to search through related model attributes.

Let's say you want to search your posts based on their blog's title and description. Here's an example that implements these criteria:

Tests

The package contains integration tests. You can run them using PHPUnit.

Changelog

Refer to CHANGELOG for more information.

Contributing

Refer to CONTRIBUTING for contributing details.

Credits

License

The MIT License (MIT). Refer to the License for more information.


All versions of eloquent-searchable with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/support Version ^11.0|^12.0
illuminate/database Version ^11.0|^12.0
illuminate/config Version ^11.0|^12.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package testmonitor/eloquent-searchable contains the following files

Loading the files please wait ....