/** * Returns table name by presenter i.e.: BaseTestPresenter => base_test * @return string */ public function getTableName() { $name = parent::getName(); if ($pos = strpos($name, ':')) { $name = substr($name, $pos + 1); } return Strings::toSnakeCase($name); }
/** * Convert array keys to snake case * @param array|\Traversable $array */ private function convertToSnake(&$array) { if ($array instanceof \Traversable) { $array = iterator_to_array($array); } foreach (array_keys($array) as $key) { $value =& $array[$key]; unset($array[$key]); $transformedKey = Strings::toSnakeCase($key); if (is_array($value) || $value instanceof \Traversable) { $this->convertToSnake($value); } $array[$transformedKey] = $value; unset($value); } }