Можно ли определить тип поля MySQL поля в CakePHP?

0

Я планирую преобразовать все данные datetime из базы данных MySQL в дату формата ('d-M-Y'). Я собираюсь сделать это в обратном вызове afterFind(), но мне интересно, как определить тип поля в CakePHP, чтобы я мог создавать условные выражения?

Спасибо заранее!

  • 0
    Ааааа, чудеса наличия GetType () доступны ...
  • 1
    А-а-а-а, простота скалярных типов и умение хорошо с ними обращаться ... Давай @LorenVS, здесь не рекомендуется использовать bash для PHP.
Теги:
cakephp

3 ответа

2
Лучший ответ

Сверху моей головы: Model::$_schema содержит схему для таблицы базы данных, включая тип поля. Это автоматически заполняется Cake с помощью SQL DESCRIBE запросов. Вы можете просмотреть результаты запроса в обратном вызове afterFind() и получить доступ к $this->_schema, чтобы узнать тип поля. Попробуйте debug($this->_schema); посмотреть, как он структурирован.

0

Я думаю, что вам нужна функция getColumnType().

Он используется следующим образом:

$fieldType = $model->getColumnType($fieldName);

Подробнее здесь: Документация CakePHP Model:: getColumnType API

0

from http://php.net/manual/en/function.checkdate.php

<?php
function is_date( $str )
{
  $stamp = strtotime( $str );

  if (!is_numeric($stamp))
  {
     return FALSE;
  }
  $month = date( 'm', $stamp );
  $day   = date( 'd', $stamp );
  $year  = date( 'Y', $stamp );

  if (checkdate($month, $day, $year))
  {
     return TRUE;
  }

  return FALSE;
}
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню