gpt4 book ai didi

mysql - yii 输出格式日期时间

转载 作者:行者123 更新时间:2023-11-29 05:28:36 24 4
gpt4 key购买 nike

我是 yii 框架的新手。
以 2 个字段的形式创建了一个表单(不使用内置小部件)。
time_start , time_end - 在数据库中输入 DATETIME。
数据库中的所有数据都被正确记录,但如果您输入字母而不是它们写入零。
我试图在模型中添加一条规则:

array ('time_start, time_end', 'type', 'type' => 'datetime', 'datetimeFormat' => 'Y-m-d H:i:s'),

似乎格式与存储在数据库中的格式相同,但没有任何反应。在 Controller 中的一个方法safe()之后,写道:

print_r ($ model-> getErrors ());

例如,引入领域: 2006-12-26 15:00:30获取数组:

Array ([time_start] => Array ([0] => Start must be datetime.) [Time_end] => Array ([0] => End must be datetime.))

所以尝试了不同的格式,但错误都是一样的。告诉我,我该怎么做才能让你只能输入格式(例如数据库),仅此而已。提前致谢。


*更新*
在“views/site/index”中:

  <?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$modeltask->search(),
'itemView'=>'_viewtask',
)); ?>

查看任务:

<div class="view">
<b><?php echo CHtml::encode($data->getAttributeLabel('id')); ?>:</b>
<?php echo CHtml::link(CHtml::encode($data->id), array('view', 'id'=>$data->id)); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('author_id')); ?>:</b>
<?php echo CHtml::encode($data->author_id); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('performer_id')); ?>:</b>
<?php echo CHtml::encode($data->performer_id); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('parent_task_id')); ?>:</b>
<?php echo CHtml::encode($data->parent_task_id); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('project_id')); ?>:</b>
<?php echo CHtml::encode($data->project_id); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('hours_plan')); ?>:</b>
<?php echo CHtml::encode($data->hours_plan); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('title')); ?>:</b>
<?php echo CHtml::encode($data->title); ?>
<br />
<form action="http://testik.test/index.php?r=site/savec" method="post">
<input type="hidden" value="<?php echo $data->id; ?>" name="id_task">
<input type="hidden" value="<?php echo Yii::app()->user->id ?>" name="id_user">
<input type="text" placeholder="Дата начала" name="time_start">
<input type="text" placeholder="Дата конца" name="time_end">
<input type="submit" value="Challenge accepted">
</form>
</div>

SiteController、方法 actionIndexactionSaveC :

public function actionIndex()
{
$modeltask=new Task('search');
$modeltask->unsetAttributes();
if(isset($_GET['Task']))
$modeltask->attributes=$_GET['Task'];
$this->render('index', array(
'modeltask'=>$modeltask,
));
}
public function actionSaveC()
{

$model = new Calendar;
$model->unsetAttributes();
if(!empty($_POST))
{
$model->attributes = $_POST;
$model->save();
print_r($model->getErrors());

//$this->redirect(array('index'));
}

模型:增加了一行,其他没有改变
忘了说所有创建的CRUD

最佳答案

您的验证规则定义有误。如果您只想接受来自用户的格式正确的日期,则规则应为

array ('time_start, time_end', 'date', 'format' => 'yyyy-MM-dd HH:mm:ss'),

这会设置一个 CDateValidator日期正确 format ,您必须指定不使用 PHP DateTime 约定,而是使用 CDateTimeParser 的约定.

关于mysql - yii 输出格式日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17237484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com