В моем Laravel -5.8 у меня есть этот код:
protected $fillable = [
'id',
'first_name',
'last_name',
'date_of_birth',
];
protected $dates = [
'date_of_birth',
];
public function setDateOfBirthAttribute($value)
{
$this->attributes['date_of_birth'] = Carbon::createFromFormat('d-m-Y', $value);
}
public function getDateOfBirthAttribute($input)
{
return is_null($input) ? "None" : Carbon::parse($input)->format(config('app.date_format'));
}
config / app. php
'date_format' => 'd/m/Y',
'date_format_js' => 'dd/mm/yy',
view
<div class="col-12 col-sm-4">
<div class="form-group">
<label class="control-label"> Date of Birth:</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="far fa-calendar-alt"></i></span>
</div>
<input type="text" placeholder="dd/mm/yyyy" readonly autocomplete="off" name="date_of_birth" value="{{ Carbon\Carbon::createFromFormat('d/m/Y', $employee->date_of_birth)->format('d-m-Y') }}" class="form-control birthDate">
</div>
</div>
<!-- /.form-group -->
</div>
<script type="text/javascript">
$(function () {
$( '.birthDate' ).datepicker({
dateFormat: 'dd-mm-yy',
changeMonth: true,
changeYear: true,
maxDate: -1,
yearRange: "-70:-5",
});
});
</script>
Я использую JQuery datepicker пользовательского интерфейса
Когда я попытался визуализировать лезвие вида редактирования, я получил следующую ошибку:
[2020-08-02 20:27:38] production.ERROR: Не удалось найти два di git day
Если я удалю «None» из getDateOfBirth в модели, но в лезвии представления индекса
<div class="col-md-4">
<p for="">: {{ $employee->date_of_birth }} </p>
</div>
он отображает сегодняшнюю дату, когда дата равна нулю
Как мне решить эту проблему?
Спасибо