php - 如何在 CakePHP 3 中保存之前格式化日期字段?

标签 php mysql cakephp cakephp-3.0

我在 AppController 中使用了这个:

Time::setToStringFormat('dd/MM/YYYY');

我表单中的日期字段是一个输入类型“文本”,允许我的用户编写类似 31/12/2015 的内容。

但是,当我尝试保存(MySQL 日期)时,出现了一些Time Class 错误,因为在表中,现在的值是 00-00-0000

Alunos Controller code

谢谢!

最佳答案

我的最终解决方案是在 bootstrap 上:

date_default_timezone_set('America/Sao_Paulo');
setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');

Type::build('time')->useImmutable();
Type::build('date')->useImmutable()->useLocaleParser();
Type::build('datetime')->useImmutable()->useLocaleParser();
Type::build('timestamp')->useImmutable();

\Cake\I18n\Time::setToStringFormat('dd/MM/yyyy HH:mm:ss');
\Cake\I18n\Date::setToStringFormat('dd/MM/yyyy');
\Cake\I18n\FrozenTime::setToStringFormat('dd/MM/yyyy HH:mm:ss');
\Cake\I18n\FrozenDate::setToStringFormat('dd/MM/yyyy');

\Cake\I18n\I18n::locale('pt-BR'); //new !

Type::build('decimal')->useLocaleParser();
Type::build('float')->useLocaleParser();

关于php - 如何在 CakePHP 3 中保存之前格式化日期字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29336852/

相关文章:

php - 在字符串末尾递增整数

php - 在服务器上执行 php 脚本非常慢

php - 无法在 codeigniter 中加载请求的文件错误

unit-testing - 如何在模型测试用例中创建模拟

php - 给出警告 : mysqli_real_escape_string() expects parameter 1 to be mysqli, 字符串

php - 相当于php或mysql中的java "Color.decode"

mysql - 创建一个触发器,如果​​没有指定,它会增加一个 id

MySQL Workbench 在服务器上执行脚本 - 错误 #1064

php - 无法加载 cakephp 模型

php - cakephp SQL 帮助!在哪里?