Download the PHP package provision/searchable without Composer

On this page you can find all versions of the php package provision/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 searchable

Build Status

Laravel MySQL fulltext search

This package creates a MySQL fulltext index for models and enables you to search through those.

Requirements

Important!

In config/database.php set

Install

  1. Install with composer composer require provision/searchable.
  2. Publish migrations and config php artisan vendor:publish --tag=searchable
  3. Migrate the database php artisan migrate

Usage

The package uses a model observer to update the index when models change. If you want to run a full index you can use the console commands.

Models

Add the SearchableTrait trait to the model you want to have indexed and define the columns you'd like to index as title and content.

Example

You can use a dot notation to query relationships for the model, like contacts.value.

Relation model indexing

On related model for indexing use SearchableRelationTrait and method getSearchableRelationName to return relation name.

Listen for changes on relation and update parent model

Example

Searching

You can search using the search method.

Search with specific fulltext search mode

Available modes

MySQL fulltext search documentation: https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html

Search with relations & additional wheres

Order searchable score

Available options:

Commands

searchable:index

Index all models for a certain class

Example

php artisan searchable:index "\App\Models\Client"

php artisan searchable:index "\App\Models\Client" 1

searchable:unindex

UnIndex all models for a certain class

Example

php artisan searchable:unindex "\App\Models\Client"

php artisan searchable:unindex "\App\Models\Client" 1

Config options

db_connection

Choose the database connection to use, defaults to the default database connection. When you are NOT using the default database connection, this MUST be set before running the migration to work correctly.

table_name

Table name of index

command_prefix

Prefix of commands

weight.title, weight.content

Results on title or content are weighted in the results. Search result score is multiplied by the weight in this config

cleaners

Clean searching keywords for prevent breaking the MySQL query.

Testing


All versions of searchable with dependencies

PHP Build Version
Package Version
Requires php Version >=7.1.3
illuminate/database Version 5.7.*|5.8.*|^6.0|^7.0|^8.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 provision/searchable contains the following files

Loading the files please wait ....