Бывают случаи, когда после поиска, в результирующем наборе данных должно быть поле, которого нету в таблице. Например, у нас есть в таблице поле адрес, которое в себе содержит название города.
Пусть поле адрес до первой запятой содержит название города. Как лучше всего решить задачу?
Ответ прост, добавить новую property в модель и переопределить для нее getter. К счастью, с Yii это сделать достаточно просто.
Откроем файл с классом модели и добавим такой код:
/** * @property string $city */ protected $city;
/** * get City property */ public function getCity(){ $address = $this->getAttribute('address'); $list = explode(",",$address); if(count($list)==0) return ""; return trim($list[0]); }