Yii2 Search Save

This is component for searching in the Active Record models for Yii2 Framework.

Project README

Search in Active Record models for Yii2

Build Status Scrutinizer Code Quality Total Downloads Latest Stable Version Latest Unstable Version

This is component for searching in the Active Record models for Yii2 Framework.

Documentation is at docs/guide/README.md.

Installation

Install package

The preferred way to install this extension is through composer.

Either run

$ composer require vintage/yii2-search

or add

"vintage/yii2-search": "~2.0"

to the require section of your composer.json.

Usage

Implement \vintage\search\interfaces\SearchInterface interface in Active Record models

/**
 * Article search model.
 * 
 * @property integer $id
 * @property string $title
 * @property string $short_description
 * @property string $content
 */
class ArticleSearch extends ActiveRecord implements \vintage\search\interfaces\SearchInterface
{
    /**
     * @inheritdoc
     */
    public function getSearchTitle()
    {
    
        return $this->title;
    }

    /**
     * @inheritdoc
     */
    public function getSearchDescription()
    {
        return $this->short_description;
    }

    /**
     * @inheritdoc
     */
    public function getSearchUrl()
    {
       return Url::toRoute(['/news/default/index', 'id' => $this->id]);
    }

   /**
    * @inheritdoc
    */
    public function getSearchFields()
    {
        return [
            'title',
            'short_description',
            'content',
        ];
    }
}

Call method of search component with a query

/* @var \vintage\search\models\SearchResult[] $result */
$result = Yii::$app->get('searcher')->search('some query here');

this method returns array of \vintage\search\models\SearchResult objects.

Tests

You can run tests with composer command

$ composer test

or using following command

$ codecept build && codecept run

Contributing

For information about contributing please read CONTRIBUTING.md.

Licence

License

This project is released under the terms of the BSD-3-Clause license.

Open Source Agenda is not affiliated with "Yii2 Search" Project. README Source: Inspired-by-Boredom/yii2-search
Stars
30
Open Issues
1
Last Commit
6 years ago
License

Open Source Agenda Badge

Open Source Agenda Rating