Как отсортировать колонку Yii2, если она встречается в 3-х разных таблицах?
Есть колонка serial_number, которая находится в таблицах: network_hardware, office_equipment, server. Основная таблица не хранит эту колонку, а подтягивает по отношению.
Model
@property NetworkHardware|OfficeEquipment|Server $serialNumber Серийный номер
/**
* @return \yii\db\ActiveQuery
*/
public function getSerialNumber() {
if ($this->equipment_type === GeneralInformationEntity::EQUIPMENT_TYPE_NETWORK_HARDWARE) {
return $this->hasOne(NetworkHardware::class, ['general_information_id' => 'id']);
}
if ($this->equipment_type === GeneralInformationEntity::EQUIPMENT_TYPE_OFFICE_EQUIPMENT) {
return $this->hasOne(OfficeEquipment::class, ['general_information_id' => 'id']);
}
if ($this->equipment_type === GeneralInformationEntity::EQUIPMENT_TYPE_SERVER) {
return $this->hasOne(Server::class, ['general_information_id' => 'id']);
}
}
View
[
'attribute' => 'serialNumber',
'value' => function($model) {
return $model->serialNumber->serial_number ?? '';
}
],
Как при таком раскладе сделать сортировку по столбцу serialNumber?
