如何最好地将 CakePHP 日期选择器表单数据转换为 PHP DateTime 对象?

2023-12-12

我正在这样做app/views/mymodel/add.ctp:

<?php echo $form->input('Mymodel.mydatefield'); ?>

然后,在app/controllers/mymodel_controller.php:

function add() {
    # ... (if we have some submitted data)
    $datestring = $this->data['Mymodel']['mydatefield']['year'] . '-' .
                  $this->data['Mymodel']['mydatefield']['month'] . '-' .
                  $this->data['Mymodel']['mydatefield']['day'];
    $mydatefield = DateTime::createFromFormat('Y-m-d', $datestring);
}

绝对有has是一个更好的方法来做到这一点 - 我只是还没有找到 CakePHP 方法......

我想做的是:

function add() {
    # ... (if we have some submitted data)       
    $mydatefield = $this->data['Mymodel']['mydatefiled']; # obviously doesn't work
}

我知道这是一个老问题,但以防万一其他人来寻找答案:CakePHP's genericModel类有一个方法,::deconstruct(),用于在内部处理这个必要的逻辑。你可以这样使用它:

$stringDate = $this->MyModel->deconstruct('fieldname', $arrayDate)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何最好地将 CakePHP 日期选择器表单数据转换为 PHP DateTime 对象? 的相关文章

随机推荐