You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel运行报ErrorException Undefined variable $siswa错误如何解决

问题原因

你在站点根路径/对应的路由中,直接返回了siswa视图,但没有向视图传递$siswa变量,而siswa.blade.php文件中存在遍历$siswa变量的逻辑,因此触发了未定义变量的异常。
访问/siswa路径不会触发该错误,因为该路径走SiswaController@index逻辑,方法内已经查询了学生数据并将$siswa变量传递给视图。

修复方案

你可以选择以下任意一种方案修复:

  • 方案1:修改根路由逻辑,避免直接返回无变量的视图
    可以直接将根路径跳转到学生列表页:
    Route::get('/', function () {
        return redirect('/siswa');
    });
    
    如果你需要根路径直接展示学生列表,就补上变量传递逻辑:
    Route::get('/', function () {
        $siswa = \App\Siswa::all();
        return view('siswa', ['siswa' => $siswa]);
    });
    
  • 方案2:给Blade视图增加变量存在判断,兼容无变量场景
    把视图中遍历学生数据的部分修改为如下代码,变量不存在时也不会报错:
    <tbody>
        @if(isset($siswa) && $siswa->count())
            @php $i=1 @endphp
            @foreach($siswa as $s)
            <tr>
                <td>{{ $i++ }}</td>
                <td>{{$s->nama}}</td>
                <td>{{$s->nis}}</td>
                <td>{{$s->alamat}}</td>
            </tr>
            @endforeach
        @else
            <tr>
                <td colspan="4" class="text-center">暂无学生数据</td>
            </tr>
        @endif
    </tbody>
    

内容的提问来源于stack exchange,提问作者Lucas Futami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:09:02