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

Laravel控制器传递多模型数据报错:undefined variable: sec_3

问题原因与解决方法

核心问题

Laravel的view()方法仅接受单个关联数组作为数据传递参数,你分开传递三个数组的写法是错误的。只有第一个数组$context里的变量bbs能被视图识别,后续的$context_2、$context_3不会被解析到视图中,这就是sec_3变量未定义的原因。

修复Controller代码

将三个数组合并为一个后再传给view()方法,以下是两种常用写法:

写法一:直接构造完整数据数组

class PreschoolInstitution3Controller extends Controller {
    public function index(){
        $data = [
            'bbs' => PreschoolInstitution3::latest()->get(),
            's' => PreschoolInstitution::latest()->get(),
            'sec_3' => TrainingPrograms::latest()->get()
        ]; 
        return view('our_employees', $data); 
    }
}

写法二:用compact()简化(可读性更强)

先单独定义变量,再用compact()打包成数组:

class PreschoolInstitution3Controller extends Controller {
    public function index(){
        $bbs = PreschoolInstitution3::latest()->get();
        $s = PreschoolInstitution::latest()->get();
        $sec_3 = TrainingPrograms::latest()->get();
        
        return view('our_employees', compact('bbs', 's', 'sec_3')); 
    }
}

额外优化(可选)

你的blade模板存在HTML标签未闭合的问题(比如<td>{{$section_2->number}}<td>),虽不影响变量报错,但会导致页面结构异常,建议修正为:

@foreach ($s as $section_2) 
<tr> 
    <td>{{$section_2->number}}</td> 
    <td>{{$section_2->fullname }}</td> 
    <td>{{$section_2->post }}</td> 
    <td>{{$section_2->telephone }}</td> 
    <td>{{$section_2->email }}</td>
</tr>
@endforeach 

@foreach ($bbs as $section )
<tr>
    <td>{{$section->number}}</td>
    <td>{{$section->full_name}}</td>
    <td>{{$section->post}}</td>
    <td>{{$section->education}}</td>
    <td>{{$section->category}}</td>
    <td>{{$section->teaching_experience}}</td>
    <td>{{$section->professional_development}}</td>
</tr>
@endforeach 

@foreach ($sec_3 as $section_3)
<tr>
    <td>{{ $section_3->number }}</td>
    <td>{{ $section_3->level }}</td>
    <td>{{ $section_3->directions }}</td>
    <td>{{ $section_3->type_of_educational_program }}</td>
    <td>{{ $section_3->period_of_assimilation }}</td>
    <td>{{ $section_3->number_of_students }}</td>
</tr>
@endforeach

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:01:27