/** * Options * * @see $this->get() */ public function options($options = []) { $data = $this->get($options); // process options_map if (isset($options['options_map'])) { $options_map = $options['options_map']; } else { if (!empty($this->options_map)) { $options_map = $this->options_map; } else { $options_map = [$this->column_prefix . 'name' => 'name']; } } // if we need to filter options_active if (!empty($options['__options_active'])) { $options_active = $this->options_active ? $this->options_active : [$this->column_prefix . 'inactive' => 0]; $data = object_data_common::filter_active_options($data, $options_active, $options['existing_values'] ?? [], $options['skip_values'] ?? []); } // build options $options['column_prefix'] = $this->column_prefix; return object_data_common::build_options($data, $options_map, $this->orderby, $options); }
/** * Options * * @see $this->get() */ public function options($options = []) { $options['__options'] = true; $data = $this->options_query_data($options); // process options_map if (isset($options['options_map'])) { $options_map = $options['options_map']; } else { if (!empty($this->options_map)) { $options_map = $this->options_map; } else { $options_map = [$this->column_prefix . 'name' => 'name']; } } // if we need to filter options_active if (!empty($options['__options_active'])) { $options_active = $this->options_active ? $this->options_active : [$this->column_prefix . 'inactive' => 0]; $data = object_data_common::filter_active_options($data, $options_active, $options['existing_values'] ?? [], $options['skip_values'] ?? []); } // if we need to prepend values based on pk if (!empty($options['__prepend_if_key'])) { foreach ($options['__prepend_if_key'] as $k => $v) { if (!empty($data[$k])) { $data[$k]['__prepend_if_key'] = !empty($options['i18n']) ? i18n(null, $v) : $v; $options_map['__prepend_if_key'] = 'name'; } } } // build options $options['column_prefix'] = $this->column_prefix; return object_data_common::build_options($data, $options_map, $this->orderby, $options); }