yii FULLTEXT запрос соответствия индекса
Я хочу создать SQL-запрос в yii Framework, который выглядит следующим образом:
mysql> SELECT id, body, MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root') AS score
-> FROM articles WHERE MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root');
Я пытаюсь это, но это не работает:
$dataProvider = new CActiveDataProvider('data', array(
'criteria'=>array(
'condition' => 'MATCH (title,body) AGAINST ('Security implications of running MySQL as root') AS score',
WHERE MATCH (title,body) AGAINST ('Security implications of running MySQL as root')
'limit' => '20', ),
'pagination' => false
));
2 ответа
Прежде всего вам необходимо выполнить запрос ALTER для столбца поиска.
ALTER TABLE item ADD FULLTEXT(title,description,location);
Запрос для поиска
$query = \common\models\Item::find()
->where(['is_active'=>'1']);
$query->andWhere("MATCH(title,description,location) AGAINST
('$searchKeywords' IN BOOLEAN MODE)");
http://www.yiiframework.com/doc/api/1.1/CDbCriteria
Это относится к предложению WHERE в выражении SQL
Так должно быть только MATCH (title,body) AGAINST ('Security implications of running MySQL as root')
http://www.yiiframework.com/doc/api/1.1/CDbCriteria
Это относится к предложению SELECT в операторе SQL
Здесь ваше место для id, body, MATCH (title,body) AGAINST ('Security implications of running MySQL as root') AS score