Aloha,我正在制作一个锻炼管理器,在其中你有一个显示你最近5次锻炼的仪表板。我为每一项训练设置了一个表格,允许用户删除其中的任何一项。这里是仪表板中的表格:
{!! Form::open(['route' => ['dashboard.workout.destroy', $workout->id], 'style' =>'display:inline-block;', 'method' => 'DELETE']) !!}
此路由将在WorkoutController.php中调用此方法
public function destroy($id, Request $request)
{
$workout = Workout::findOrFail($id);
$workout->delete();
$message = "Workout deleted successfully!";
return redirect()->route('dashboard.index', ['message' => $message]);
}
此路由将在DashboardController.php中调用此方法
public function index($message = null)
{
$user = Auth::user();
// Workouts
...
// Inbodies
...
// Measures
...
return view('dashboard.index', compact('user','workoutsDesc','workouts','lastInbody','inbodies','measures','lastMeasure','message'));
}
问题是,我正试图将变量$消息从WorkoutController传递到DashboardController 但我仍在努力寻找方法。return redirect()->action('Dashboard'DashboardController@index', [$message]);
return redirect()->action('Dashboard'DashboardController@index')->with('message', $message);
return redirect()->route('dashboard.index', $message);
首先,来自Laravel 5.1文档:If your route has parameters, you may pass them as the second argument to the route method
由于该消息不是您路线的参数,因此您无法传递该消息。一个可能的解决方案可以是闪烁数据。如果会话具有该键并包含值,请检查下一个控制器,然后将其添加到变量并传递到视图。
希望这能奏效。