protected function getOptions()
{
$options = array();
$this->value = array();
$value_field = $this->element['value_field'] ? (string) $this->element['value_field'] : 'title';
$view = $this->form->getView()->getName();
$relation = $this->form->getModel()->getContainer()->inflector->pluralize((string) $this->element['name']);
/** @var DataModel $model */
$model = $this->form->getContainer()->factory->model($relation)->setIgnoreRequest(true)->savestate(false);
$key = $model->getIdFieldName();
$value = $model->getFieldAlias($value_field);
foreach ($model->get(true) as $option) {
$options[] = JHtml::_('select.option', $option->{$key}, $option->{$value});
}
if ($id = $this->form->getModel()->getId()) {
$model = $this->form->getModel();
$relations = $model->{$relation};
foreach ($relations as $item) {
$this->value[] = $item->getId();
}
}
return $options;
}