From: Vincent Vanwaelscappel Date: Wed, 12 Jun 2019 13:29:11 +0000 (+0200) Subject: #2810 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=69c8f5316c57e1ce95750921ebfca9a6af6efa97;p=cubist_cms-back.git #2810 --- diff --git a/src/app/Magic/Fields/Model.php b/src/app/Magic/Fields/Model.php index f9c01da..e3602a9 100644 --- a/src/app/Magic/Fields/Model.php +++ b/src/app/Magic/Fields/Model.php @@ -23,14 +23,8 @@ class Model extends Field protected function _getOptions() { $modelClass = $this->getAttribute('model'); - /** @var CubistMagicAbstractModel[] $items */ - $items = $modelClass::all(); - $options = []; + $inst = new $modelClass(); - $name = $this->getAttribute('attribute'); - foreach ($items as $item) { - $options[$item->{$item->getPrimaryKey()}] = $item->{$name}; - } - return $options; + return $modelClass::all()->pluck($this->getAttribute('attribute'), $inst->getPrimaryKey()); } } diff --git a/src/app/Magic/Fields/SelectFromModelMultiple.php b/src/app/Magic/Fields/SelectFromModelMultiple.php index 378f606..7461e40 100644 --- a/src/app/Magic/Fields/SelectFromModelMultiple.php +++ b/src/app/Magic/Fields/SelectFromModelMultiple.php @@ -8,4 +8,18 @@ class SelectFromModelMultiple extends SelectFromModel { protected $_multiple = true; protected $_cast = 'array'; + protected $_order = false; + + public function _postSetAttributes() + { + parent::_postSetAttributes(); // TODO: Change the autogenerated stub + if ($this->getAttribute('order')) { + $this->_adminType = 'select_and_order'; + } + } + + public function getDefaultAttributes() + { + return array_merge(parent::getDefaultAttributes(), ['order' => $this->_order]); + } }