Задать вопрос

Как реализовать поиск по синонимам?

Использую виджет автозаполнения для поиска по таблице игр и по таблице синонимов. По играм поиск работает, проблема при поиске в поле по синониму. Подскажите, как можно подключить поиск и по синонимам? В доках инфы очень немного. Вот код:
<?php $data = Game::find()
                    ->select([
                        'game.name as value',
                        'game.name as  label',
                        'game.id as id',
                        'synonym.name as name'
                    ])
                    ->leftJoin('game_synonym', 'game_synonym.game_id = game.id')
                    ->leftJoin('synonym', 'synonym.id = game_synonym.synonym_id')
                    ->asArray()
                    ->all(); ?>

                <?= AutoComplete::widget([
                    'name' => 'Company',
                    'id' => 'ddd',
                    'clientOptions' => [
                        'source' => $data,
                        'autoFill' => true,
                        'minLength' => '1',
                        'maxShowItems' => 5,
                        'select' => new JsExpression("function( event, ui ) {
                                $('#game').val(ui.item.id);
                            }"),
                    ],
                    'options' => [
                        'class' => 'game-input',
                        'placeholder' => '*Название игры',
                    ],
                ]);
  • Вопрос задан
  • 51 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
А вы посмотрите что вам возвращает запрос, и тогда думаю все будет понятно: у вас в select 2 поля имеют элиас `name`.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы