我打算将所有日期时间数据从MySQL数据库转换为格式日期('d-M-Y')。我想在afterFind()回调中做这个,但我想知道,如何检测CakePHP中的字段类型,以便创建条件语句?
提前致谢!
答案 0 :(得分:2)
脱离我的头脑:Model::$_schema
保存数据库表的架构,包括字段的类型。这是由Cake使用SQL DESCRIBE
查询自动填充的。您可以在afterFind()
回调中查看查询结果,然后访问$this->_schema
以查找该字段的类型。请尝试debug($this->_schema);
查看其结构。
答案 1 :(得分:0)
来自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;
}
?>
答案 2 :(得分:0)
我认为你所追求的是函数getColumnType()。
它的使用方式如下:
$fieldType = $model->getColumnType($fieldName);