Ho due pagine che sono quasi identiche. Uno mostra un elenco di utenti, l'altro mostra lo stesso elenco, ma con informazioni più dettagliate. Quindi sto chiamando due viste che estendono lo stesso wrapper. Tuttavia, Laravel lamenta che $ user non è definito in verbose.blade.php. Sto passando $ utenti alla vista che sembra essere disponibile per content.blade.php ma l'utente $ che è stato creato all'interno del ciclo foreach non sembra essere accessibile in verbose.blade.php.Laravel Blade @ scope variabile scope
verbose.blade.php
@extends('layout.content')
@section('user')
{{ dd($user) }}
@endsection
nonverbose.blade.php
@extends('layout.content')
@section('user')
{{ dd($user) }}
@endsection
content.blade.php
@extends('layout.app')
@section('content')
@foreach($users as $user)
@yield('user')
@endforeach
@endsection
Ho anche provato @yield('user', ['user' => $user])
Come dovrei fare per rendere disponibile $ user in verbose.blade.php?
solo per curiosità (so che questo risolverebbe l'errore, ma non so se sarebbe una soluzione) hai incluso l'utente come valore nella funzione del controller 'return view ('verbose ', compatto (' utenti ',' utente ')) '? –
Presumo che il tuo controller abbia qualcosa come 'return view ('verbose', compact ('users');'? –
Se questo non è Laravel 3 non dovresti usare '@ endection' prova' @ stop' invece. – saadel