问题描述
每当值更改为数据库中的内容时,我都会尝试使用当前日期时间更新相关字段 (paused_start/end)。因此,如果客户端服务当前已暂停并且用户在不暂停服务的情况下保存表单,则 paused_start/end 中将不会记录任何内容。只有在提交暂停的值与数据库中的值不同时,才应更新这些字段。
所以如果一个客户端当前是未暂停的,然后保存客户端服务页面并勾选paused,则需要在paused_start中保存当前的日期时间。并且如果一个客户端当前处于暂停状态,然后在没有勾选paused的情况下保存客户端服务页面,则需要在paused_end中保存当前的日期时间。但是,当提交表单并且值已经存在时,我一直遇到覆盖日期时间的问题。
$paused = \Input::post('paused',false);
$paused_start = \Input::post('paused-start');
$paused_end = \Input::post('paused-end');
if ($paused == true) {
// Overwrite existing date if the paused is true again for paused_start
// but don't update the date everytime the form is submitted.
if ($paused_start) {
$service['paused_start'] = $paused_start;
}else {
$service['paused_start'] = date('Y-m-d H:i:s');
}
}else {
// Overwrite existing date if the paused is false again
// for paused_end but don't update the date everytime the form is submitted.
if ($paused_end) {
$service['paused_end'] = $paused_end;
}else {
$service['paused_end'] = date('Y-m-d H:i:s');
}
}
<div class="form-group">
<label for="paused" class="control-label col-md-3">Paused?</label>
<div class="col-md-5">
<input type="checkBox"
name="paused"
value="1" <?PHP echo (isset($service['paused']) && $service['paused'] == 1) ? 'checked' : '' ?>>
</div>
</div>
<input type="hidden" name="paused-start" value="<?PHP echo $service['paused_start'] ?>">
<input type="hidden" name="paused-end" value="<?PHP echo $service['paused_end'] ?>">
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)