首先,用户从下拉列表中选择一个值,该值将所选值存储在位于$SetNumber
中的名为ControllerOne
的变量中。用户从下拉菜单中选择后,您会看到表单操作为/Update
,该操作用于检索数据并将其重定向到ControllerTwo
<form method="POST" action="/Update">
@csrf
<select name="Match" id="Match" onchange="this.form.submit()">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
ControllerOne
包含一个empty
变量,该变量定义了变量$SetNumber
。 ControllerOne
:
class ControllerOne extends Controller
{
public function index()
{
$SetNumber = "";
}
public function update(Request $request)
{
$SetNumber = $request->Match;
return redirect()->action('ControllerTwo@index', ['SetNumber' => $SetNumber]);
}
}
class ControllerTwo extends Controller
{
public function index()
{
echo $SetNumber;
return view('pages.viewpage')->with('SetNumber', $SetNumber);
}
}
问题是,当我尝试在控制器中回显$SetNumber
并将其返回到视图时,提示我此错误:
未定义的变量:SetNumber。
我该怎么做呢?
我是laravel和网络开发人员的新手。
答案 0 :(得分:0)
使用重定向功能发送的参数将添加到生成的url的查询字符串中。因此,如果要在其他控制器功能中访问它们,则必须从请求对象中获取值。
class ControllerTwo extends Controller
{
public function index()
{
$SetNumber = request()->get('SetNumber');
return view('pages.spotifyApi')->with('SetNumber', $SetNumber);
}
}