/** * Group options by a specific column. * * @param string $column Column name. * @param null $callback Optional callback. * * @return $this */ public function groupBy($column, $callback = null) { $options = array(); foreach ($this->options as $key => $value) { $row = $this->options->row(); $group = $this->groupValue($row[$column], $callback, $row); $options[$group][$key] = $value; } $this->options = new ArrayOptions($options); return $this; }