我正在嘗試使用 php Laravel 在我的 MySQL 資料庫中存盤來自 Datepicker 的值。
該請求有效,因為當我添加請求時會顯示日期,但是在查看資料庫時我只看到“0000-00-00”而不是日期,所以我想我的控制器丟失了一些東西,但我沒有不知道是什么。
這是我的控制器方法:
public function storePost(Request $request) {
$this->validate($request, [
'titel' => 'required|max:255',
'standort' => 'required|max:255',
'kontakt' => 'required|email|max:255',
'startdatum' => 'required|date',
'enddatum' => 'required|date',
'beschreibung' => 'required|',
]);
$request->user()->posts()->create([
'titel' => $request->titel,
'standort' => $request->standort,
'kontakt' => $request->kontakt,
'startdatum' => $request->startdatum,
'enddatum' => $request->enddatum,
'beschreibung' => $request->beschreibung,
]);
return redirect()->route('home');
}
在堆疊溢位時看到它后,我已經用這個版本嘗試過它,但它也不起作用:
public function storePost(Request $request) {
$this->validate($request, [
'titel' => 'required|max:255',
'standort' => 'required|max:255',
'kontakt' => 'required|email|max:255',
'startdatum' => 'required|date',
'enddatum' => 'required|date',
'beschreibung' => 'required',
]);
$request->user()->posts()->create([
'titel' => $request->titel,
'standort' => $request->standort,
'kontakt' => $request->kontakt,
'startdatum' => Carbon::parse($request->startdatum),
'enddatum' => Carbon::parse($request->enddatum),
'beschreibung' => $request->beschreibung,
]);
return redirect()->route('home');
}
我不確定它是否相關,但這里是日期來自的 html 代碼片段:
<div class="flex flex-wrap -mx-3 mb-6">
<div class="w-full px-3">
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 text-base" for="startdatum">
Startdatum
</label>
<input class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded
py-3 px-4 mb-3 leading-tight focus:outline-none focus:bg-white
focus:border-gray-500 @error('startdatum') border-red-500 @enderror" id="startdatum" name="startdatum" type="date" placeholder="Startdatum">
@error('startdatum')
<div class="text-red-500 mt-2 text-sm">
{{ $message }}
</div>
@enderror
</div>
</div>
<div class="flex flex-wrap -mx-3 mb-6">
<div class="w-full px-3">
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 text-base" for="enddatum">
Enddatum
</label>
<input class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded
py-3 px-4 mb-3 leading-tight focus:outline-none focus:bg-white
focus:border-gray-500 @error('titel') border-red-500 @enderror" id="enddatum" name="enddatum" type="date" placeholder="Enddatum">
@error('enddatum')
<div class="text-red-500 mt-2 text-sm">
{{ $message }}
</div>
@enderror
</div>
</div>
uj5u.com熱心網友回復:
在您的帖子模型中,確保您擁有具有正確屬性的 $fillable 屬性:
class Post extends Model
{
protected $fillable = ['standort','titel','kontakt','startdatum','enddatum','beschreibung'];
....
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/361344.html
