vintage / yii2-search
Search in Active Record models for Yii2
Installs: 4 509
Dependents: 1
Suggesters: 0
Security: 0
Stars: 29
Watchers: 4
Forks: 6
Open Issues: 1
Type:yii2-extension
Requires
- yiisoft/yii2: ^2.0.13
Requires (Dev)
- codeception/codeception: ~2.3
This package is not auto-updated.
Last update: 2024-11-10 02:19:45 UTC
README
Search in Active Record models for Yii2
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
This project is released under the terms of the BSD-3-Clause license.