如何在带有CakePHP表单的datetime字段中允许null?

时间:2013-10-15 21:04:53

标签: jquery forms cakephp datepicker

我的数据库包含字段start_datedatetime,必填)和end_datedatetime,可以为null)。我正在创建一个表单供用户使用CakePHP输入数据。我的表单包含

echo $this->Form->input('start_date');
echo $this->Form->input('end_date');

输出6 select s(月 - 日 - 年小时:分钟经络),其中已选择当前日期/时间,因为数据类型为datetime如果我希望用户能够为null插入end_date(基本上不填写字段),我该如何更改表单?

我真正想要的是一个带有jQuery日历弹出框的文本框,用于插入格式化的日期时间,因此如果需要,他们可以将文本框留空。我不完全确定要查找什么,我猜它在文档的某个地方,但我只是从CakePHP开始(所以道歉,因为这可能是一个基本问题)。

2 个答案:

答案 0 :(得分:7)

使用空键:

$this->Form->input('end_date', array('empty' => true));

'empty' => '-'

这将创建在DB中最终为NULL的字段。

答案 1 :(得分:1)

您可以将jquery datepicker与文本框一起用于日期字段。

尝试这样的事情

<强> PHP

<?php  echo $this->Form->input('end_date', array(
              'type' => 'text',
              'label' => 'End Date',
              'class' => ' j-date',
              'div' => false
          ));
?>

您可以通过使用上面提到的元素添加类j-date来为每个日期字段添加jquery datepicker

<强> Jquery的

<script>
      $(function() {
         $(document).ready(function() {
            $('.j-date').each(function() {
                $(this).datepicker({ dateFormat: 'yy-mm-dd', 
                                    changeMonth: true,
                                    changeYear: true
                                });
                });
            });
        });
    </script>

我希望这个解决方案对你来说是可行的。感谢