大家好,请有人帮助我解决 Laravel 10 中的这个问题,试图在我制作的将学校 ID 传递到其他页面的按钮链接上传递变量,我以前已经这样做过,没有任何问题,但我被困在这个问题上确定发生了什么事,请有人告诉我我在这里做错了什么。 谢谢
在我的刀片页面上:
<button type="button" class="btn btn-secondary"onclick="window.location.href='{{ route('school.assessment.year', ['schoolId' => $item->id]) }}'">Year 1</button>
在我的 web.php 中:
Route::get('/school/{schoolId}/assessment/year', [EduvantageViewSchoolStatisticsController::class, 'showStudentAssessmentYear'])
->name('school.assessment.year');
在我的控制器中:
public function someMethodName() {
$schoolId = session('current_school_id');
$item = EduvantageSchools::find($schoolId);
if (!$item) {
abort(404, 'School not found.');
}
// Pass the school item to the view
return view('schoolview.profile.student_assessment_year', compact('item', 'schoolId'));
}
我尝试了其他方法,但在我的 AppServiceProvider 中效果不佳
public function boot(): void
{
// Bind the schoolID to the container
$schoolId = session('find_school_id');
$item = EduvantageSchools::find($schoolId); // Ensure this session variable is being set correctly
$this->app->instance('schoolID', $schoolId);
}
在我的控制器中:
public function showStudentAssessmentYear()
{
$schoolId = session('find_school_id');
$item = EduvantageSchools::find($schoolId);
dd($item); // Debug to display $item
return view('schoolview.profile.student_assessment_year', compact('item', 'schoolId'));
}
您已经在路线中传递了参数,即。 {schoolId} 但未在函数 showStudentAssessmentYear() 中传递参数。 它应该看起来像公共函数 showStudentAssessmentYear($schoolId)