數據庫樣式 int 11
后台add.html:
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Lotterytime')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-lotterytime" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[lotterytime]" type="text" value="{:date('Y-m-d H:i:s')}">
</div>
</div>
edit.html:
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Lotterytime')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-lotterytime" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[lotterytime]" type="text" value="{$row.lotterytime|datetime}">
</div>
</div>
有時會發現這種方法提交會導致數據庫中只存了4位的年份值,因為添加編輯提交的是:Y-m-d H:i:s樣式,系統只能檢測到第一個年份,需要后台controller對應的model轉換一下
轉換代碼:
// 追加屬性
protected $append = [
'lotterytime_text'
];
public function getLotterytimeTextAttr($value, $data)
{
$value = $value ? $value : (isset($data['lotterytime']) ? $data['lotterytime'] : '');
return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
}
protected function setLotterytimeAttr($value)
{
return $value && !is_numeric($value) ? strtotime($value) : $value;
}