我有两个几乎相同的页面。一个显示用户列表,另一个显示相同的列表,但包含更详细的信息。所以我调用了两个扩展同一个包装器的视图。然而,Laravel抱怨verbose.blade.php中没有定义$user。我将$users传递给视图,该视图似乎对content.blade.php可用,但是在foreach循环中创建的$user在verbose.blade.php中似乎不可访问。
verbose.blade.php
@extends('layout.content')
@section('user')
{{ dd($user) }}
@endsectionnonverbose.blade.php
@extends('layout.content')
@section('user')
{{ dd($user) }}
@endsectioncontent.blade.php
@extends('layout.app')
@section('content')
@foreach($users as $user)
@yield('user')
@endforeach
@endsection我也尝试过@yield('user', ['user' => $user])
如何让$user在verbose.blade.php中可用?
发布于 2015-07-29 03:44:27
你有没有尝试过使用@include?
@include('user', ['user' => $user])发布于 2015-07-29 01:56:03
由于Laravel解析刀片式服务器模板的顺序,您会得到该错误。
有时,我们程序员在“不要重复自己(DRY)”原则中变得如此根深蒂固,以至于我们走得太远了。这就是其中之一--您应该简单地将foreach循环直接放到verbose.blade.php中:
@extends('layout.app')
@section('content')
@foreach($users as $user)
@yield('user')
@endforeach
@endsectionhttps://stackoverflow.com/questions/31681465
复制相似问题