目前,我正试图从我的数据库中获取所有信息,并将函数重定向到显示所有数据的列表页面。重定向目前不工作,我得到以下错误:
Symfony\Component\HttpFoundation\RedirectResponse::__construct():参数#2($status)必须是int类型,给定数组。
这个错误特别来自我代码的返回重定向部分。这对我的同学来说工作得很好,他们把它链接到和我一样的blade.php页面。仅仅因为我重定向而不是使用视图声明类型,我还需要添加其他东西吗?
我的控制器:
public function show(): RedirectResponse
{
$projects = project::all();
return redirect('list', ['projects' => $projects]);
}
需要链接的页面(仅供参考):
@extends('layouts.layout')
@section('content')
<main>
@foreach($project as $projects)
<h2>{{ $project->title }}</h2>
<p>{{ $project->picture_url }}</p>
<p>{{ $project->description }}</p>
<p>{{ $project->explanation }}</p>
<button> Edit </button>
<button> Delete </button>
@endforeach
</main>
@endsection
2条答案
按热度按时间e3bfsja21#
return redirect()->route('routename',compact('projects'));
093gszye2#
要重定向到命名路由,您需要使用
Redirector
示例,您可以通过调用redirect方法获得该示例,而无需任何参数。此示例允许您调用
route
方法,该方法将返回RedirectResponse
到目标命名路由,如下所示:你可以在这个函数的第二个参数中传递参数,所以在你的例子中,你需要这样的东西:
由于这类重定向响应很常见,Laravel还提供了一个
to_route
助手,可以这样使用:查看Laravel文档:https://laravel.com/docs/10.x/redirects#redirecting-named-routes