/** * @param null $valueField * @param null $labelField * @param array $additional * @return array */ public function toOptionArray($valueField = null, $labelField = null, $additional = []) { if ($valueField === null) { $valueField = $this->searchResult->getIdFieldName(); } if ($labelField === null) { $labelField = 'name'; } $result = []; $additional['value'] = $valueField; $additional['label'] = $labelField; foreach ($this->searchResult->getItems() as $item) { $data = []; foreach ($additional as $code => $field) { $data[$code] = $item->getData($field); } $result[] = $data; } return $result; }