Yii2: как найти другим полем в GridView вместо поля id?

Я использую GridView, чтобы показать модель под названием Родственники (фамильяры человека), которые имеют два поля: Человек (атрибут id_person) и Родственник (атрибут name_relative).

Таблицы моей базы данных — люди и родственники.

У меня проблема с полем Персона. Я не показываю идентификаторы людей, вместо этого я показываю имена людей, потому что идентификатор — это автоматически генерируемый первичный ключ.

Когда я пользователь хочет искать, его ищет id_person. Мне нужно искать набрав имя человека, никто не напишет идентификатор.

Вот код файла RelativesController:

<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
[
'attribute' => 'id_person',
'label' => 'Person',
'value' => function($model) {
$person = \app\models\Persons::findOne(['id_person' => $model->id_person]);
return $person->name_person;
}
],
'name_relative',
],
]); ?>

Это то, что у меня есть (поиск по Я бы):
Поиск по идентификатору

Это то, что мне нужно (поиск по название):
Поиск по имени

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector