laravel 变量未通过未定义变量 $item

问题描述 投票:0回答:1

大家好,请有人帮助我解决 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'));
}

laravel variables
1个回答
0
投票

您已经在路线中传递了参数,即。 {schoolId} 但未在函数 showStudentAssessmentYear() 中传递参数。 它应该看起来像公共函数 showStudentAssessmentYear($schoolId)

© www.soinside.com 2019 - 2024. All rights reserved.