I have 4 fields which are id, name, prenom, date_naissance. When I insert a recording in my phymyadmin, I don't have a problem with the date_naissance.
However, when I try to insert a date_naissance in my insert form, I have an error message.
SQLSTATE[HY000]: General error: 1364 Field 'date_naissance' doesn't have a default value (SQL: insert into
eleves
(nom
,prenom
,updated_at
,created_at
) values (Benoit, Piret, 2019-03-07 22:31:24, 2019-03-07 22:31:24))
Do you see the problem ?
public function create()
{
return view('admin.eleves.create', compact('eleves'));
}
public function store(Request $request)
{
$request->validate([
'nom' => 'required|string',
'prenom' => 'required|string',
'date_naissance' => 'required|date'
]);
Eleve::create($request->all());
return redirect()->route('eleves.index')
->with('success', 'save');
}
My View create
<form class="panel-body" action="{{route('eleves.store')}}" method="POST">
@csrf
<fieldset class="form-group">
<label for="form-group-input-1">Nom</label>
<input type="text" name="nom" class="form-control" id="form-group-input-1">
</fieldset>
<fieldset class="form-group">
<label for="form-group-input-1">Prénom</label>
<input type="text" name="prenom" class="form-control" id="form-group-input-1">
</fieldset>
<fieldset class="form-group">
<label for="form-group-input-1">Date naissance</label>
<input type="date" name="date_naissance" class="form-control" id="form-group-input-1">
</fieldset>
<a href="{{route('eleves.index')}}" class="btn btn-primary pull-right">Back</a>
<button type="submit" class="btn btn-sm btn-primary">Valider</button>
</form>
Model:
class Eleve extends Model
{
//
protected $fillable = ['nom', 'prenom'];
protected $dates = ['date_naissance'];