Есть таблица organizations со следующими столбцами:
id - id организации
short_name - краткое наименование организации
full_name - полное наименование организации
parent_organization - наименование родительской организации.
Поле parent_organization содержит в себе id организации из этой же таблицы.
В значении атрибута выводится краткое наименование родительской организации:
'value' => 'parentOrganization.short_name'
.
В модели Organizations прописан геттер:
public function getParentOrganization()
{
return $this->hasOne(Organizations::className(), ['id' => 'parent_organization']);
}
Необходимо настроить фильтр GridView таким образом, чтобы при поиске по полю parent_organization формировался корректный запрос к БД для сопоставления вводимого поискового запроса с содержимым поля short_name родительской организации.
В настоящий момент при написании составного запроса БД (PostgreSQL) ругается на то повторное обращение к одной и той же таблице.
Сам запрос к БД должен выглядеть следующим образом:
select * from organizations_schema.organizations where parent_organization = ( select id from organizations_schema.organizations where short_name like '%Поисковый_запрос%' );
Заранее спасибо!