我有4个字段,分别是ID,名称,前缀, date_naissance 。 当我在phymyadmin中插入录音时,date_naissance没问题。
但是,当我尝试以插入形式插入date_naissance时,出现错误消息。
SQLSTATE [HY000]:常规错误:1364字段“ date_naissance”没有 具有默认值(SQL:插入
eleves
(nom
,prenom
,updated_at
,created_at
)值(Benoit,Piret,2019-03-07 22:31:24,2019-03-07 22:31:24))
您看到问题了吗?
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');
}
我的视图创建
<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>
型号:
class Eleve extends Model
{
//
protected $fillable = ['nom', 'prenom'];
protected $dates = ['date_naissance'];
答案 0 :(得分:1)
在您的模型中
class Eleve extends Model
{
//
protected $fillable = ['nom', 'prenom','date_naissance']; // missing date_naissance here.
protected $dates = ['date_naissance'];
答案 1 :(得分:1)
您将需要在模型上指定 fillable
或 guarded
属性,因为所有雄辩的模型都可以防止大规模分配默认。
您可以指定在模型中可以批量分配的字段,可以通过在模型中添加特殊变量$fillable
来完成。因此,在模型中,您还需要添加 date_naissance
:
class Eleve extends Model {
protected $fillable = ['nom', 'prenom','date_naissance']; //only the field names inside the array can be mass-assign
protected $dates = ['date_naissance'];
}
更多详细信息:,您可以在这里What does “Mass Assignment” mean in Laravel
轻松理解