Можно ли определить тип поля MySQL поля в CakePHP? - PullRequest
0 голосов
/ 05 декабря 2009

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

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 05 декабря 2009

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

0 голосов
/ 29 октября 2013

Думаю, вам нужна функция getColumnType ().

Используется так:

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

Больше информации здесь: CakePHP Model :: документация API getColumnType

0 голосов
/ 05 декабря 2009

от 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;
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...