【发布时间】:2021-02-13 00:58:42
【问题描述】:
我正在使用 Laravel-5.8 开发一个项目。我的模型中有这个:
型号:
protected $fillable = [
'id',
'email',
'hire_date',
'first_name',
'other_name',
'last_name',
'date_of_birth',
];
protected $dates = [
'date_of_birth',
'hire_date',
];
public function setDateOfBirthAttribute($value)
{
$this->attributes['date_of_birth'] = Carbon::createFromFormat('d-m-Y', $value);
}
public function setHireDateAttribute($value)
{
$this->attributes['hire_date'] = Carbon::createFromFormat('d-m-Y', $value);
}
那么这是我的控制器。
控制器:
$arr = [
'first_name' => $request->first_name,
'last_name' => $request->last_name,
'hire_date' => $request->hire_date,
'date_of_birth' => $request->date_of_birth,
'other_name' => $request->other_name,
];
$employee = HrEmployee::create($arr);
我使用 JQuery 日期选择器:
< script type = "text/javascript" >
$(function() {
$('.birthDate').datepicker({
dateFormat: 'dd-mm-yy',
changeMonth: true,
changeYear: true,
maxDate: -1,
showAnim: 'slideDown',
duration: 'fast',
});
}); <
/script>
<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="{{ old(" date_of_birth} ") }}" class="form-control birthDate">
</div>
</div>
<!-- /.form-group -->
</div>
当我提交表单时,我收到了这个错误:
[2021-02-12 12:50:07] production.ERROR: InvalidArgumentException: Data missing in /var/www/html/peopleedgeapp/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:623
Stack trace:
#0 /var/www/html/myapp/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(645): Carbon\Carbon::rawCreateFromFormat('d-m-Y', NULL, NULL)
#1 /var/www/html/myapp/app/Models/Hr/HrEmployee.php(156): Carbon\Carbon::createFromFormat('d-m-Y', NULL)
#2 /var/www/html/myapp/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(615): App\Models\Hr\HrEmployee->setDateOfBirthAttribute(NULL)
#3 /var/www/html/myapp/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(569): Illuminate\Database\Eloquent\Model->setMutatedAttributeValue('date_of_birth', NULL)
#4 /var/www/html/myapp/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(329): Illuminate\Database\Eloquent\Model->setAttribute('date_of_birth', NULL)
我哪里弄错了? hire_date 也会出现同样的错误。
我该如何解决这个问题?
谢谢
【问题讨论】:
标签: laravel