[英]Laravel - HTTP Session Flash Data dont work
Laravel 文檔:
有時您可能希望將項目存儲在會話中以供下一個請求。 您可以使用 flash 方法執行此操作。
$request->session()->flash('status', 'Task was successful!');
我的代碼:
public function store(StorePost $request)
{
$validated = $request->validate();
$post = new Posts();
$post->title = $validated['title'];
$post->content = $validated['content'];
$post->save();
$request->session()->flash('status', 'Task was successful!');
return redirect()->route('posts.show', [$post->id]);
}
我的 IDE vscode 拋出錯誤如下所示:閃存中的錯誤
對這個錯誤有幫助嗎?
有幾件事可以解決您的問題並稍微清理一下。 Laravel 命名模型的約定是使用表的單數名稱。 如果您有一個名為 posts 的表,則模型的名稱應該是 Post。 其次,您不需要驗證數據的臨時變量,只需將其內聯即可。 最后,您可以在重定向上使用with
來刷新會話數據:
public function store(StorePost $request)
{
$post = Posts::create([
'title' => $request->validated('title'),
'content' => $request->validated('content')
]);
return redirect()->route('posts.show', $post)
->with('status', 'Task was successful!');
}
您是否包含以下命名空間
use Session;
如果不使用“會話”命名空間
你也可以嘗試另一種方式
public function store(StorePost $request)
{
$validated = $request->validate();
$post = new Posts();
$post->title = $validated['title'];
$post->content = $validated['content'];
$post->save();
return redirect()->route('posts.show', [$post->id])->with('status','Task was successful!');
}
它將創建一個 RedirectResponse 實例並以單一、流暢的方法將數據閃存到會話中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.