Example #1
0
 /**
  * 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);
 }
Example #2
0
 /**
  * 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);
 }