场景:我的 PHP 应用程序将始终使用日期字段 DD-MM-YYYY。MySQL 显然总是将日期存储在 YYYY-MM-DD
免责声明:我知道如何手动更改日期格式 - 这不是问题
问题:什么是一种好的、干净、优雅的方法来确保我的应用程序始终检索 DD-MM-YYYY 中的日期,并且 mySQL始终接收要存储的 YYYY-MM-DD 中的日期。
即基本上我希望有一个自动发生转换的地方,而不必每次执行 SQL 查询时都调用它。这样,如果我“忘记”进行 date_conversion 并不重要 - 它每次都会发生......
我在想某处的某种回调?
(编辑)我的想法:我目前使用 Codeigniter 框架。我正在考虑使用 MY_Model,使用 before_get、before_insert 和 before_update 回调。在这些回调中,我可以使用类似这样的 SELECT 来遍历所有字段:
// {insert my query here to get records from DB. Then:
$query = $this->db->query();
$fields = $query->field_data();
foreach ($fields as $field)
{
if ($field->type == 'date')
// do conversion here
}
并为 UPDATE/INSERT 回调做类似的事情。据我所知,数据库上没有额外的工作(因为 Codeigniter 在 $query 结果中提供了信息)
想法?
编辑2:其他想法:只需为每个模型执行此操作,并定义哪些字段是日期字段,然后在每个回调中应用更改...是的...可能会这样做...?