(function() { $('select[name="<?php echo $input_name; ?> "]').select2(); }); </script> <?php } } elseif (in_array($field['tag'], ['search-multi', 'search'], true)) { $field['attributes']['data-placeholder'] = !empty($field['placeholder']) ? trans($field['placeholder']) : trans('prettyforms::search.default_placeholder'); // Изначально селект имеет в своём списке только те значения, которые уже присвоены к этому объекту $options = []; if ($selected) { foreach ($field['model']::whereIn('id', (array) $selected)->get() as $selected_item) { $options[$selected_item->id] = pf_get_item_value($selected_item, array_get($field, 'display_as')); } } echo Form::select($input_name, $options, $selected, $field['attributes']); ?> <script> <?php echo config('prettyforms.js-load-wrapper'); ?> (function(){ $('select[name="<?php echo $input_name; ?> "]').select2({ ajax: {
$model = new $field['model'](); // Отфильтруем данные, если есть необходимость if (!empty($field['model_wheres'])) { foreach ($field['model_wheres'] as $where) { $model = $model->where($where[0], $where[1], $where[2]); } } // Отсортируем данные, если есть необходимость if (!empty($field['model_orders'])) { foreach ((array) $field['model_orders'] as $order_field) { $model = $model = $model->orderBy($order_field); } } $options = []; foreach ($model->get() as $model_item) { $option = ['value' => $model_item->id, 'text' => pf_get_item_value($model_item, array_get($field, 'model_name'))]; if (isset($field['model_desc'])) { $option['desc'] = $model_item->{$field}['model_desc']; } $options[] = $option; } } $selected = []; if (!is_null($item->id)) { $selected = $item->{$name}; } if (empty($options)) { $options = [['text' => 'список пуст', 'value' => '']]; } ?>
<p class="form-control-static"> <?php echo pf_get_item_value($item->{$field}['relation'], $field['display_as']); ?> </p>