我最近在Laravel 5.8中发现了Blade的奇怪行为。
假设我已经存档
@extends('layout')
@section('title','Dodaj playlistę')
@section('content')
{{$hosts = \App\Host::all()}}
<h2>Dodaj audycję do bazy</h2>
位于文件中间
{{$hosts = \App\Host::all()}}
@foreach ($hosts as $man)
<option value='{{$man->id}}'>{{$man->name}} </option>
@endforeach
问题是我总是回显第一个$ hosts变量,而第二个则没有。我勒个去?绝对不应该回显此类变量,因为该命令只是变量值的归属。
我已经检查了所有路线,这里没有dd()或var_dump()命令。
答案 0 :(得分:0)
看起来像是拼写错误,可能在一个区域内压入两个部分。它通常会引发错误,但可能会与其他语言混淆。
将@section('title','Dodaj playlistę')
更改为@section('title')
,然后尝试一下。
另外,直接在foreach中设置var,以提高清晰度:
@foreach ($hosts as $man)
成为
@foreach(\App\Host::all() as $man)
答案 1 :(得分:0)
{{$hosts = \App\Host::all()}}
,它将回显“ \App\Host::all()
”
可以
@php
$hosts = \App\Host::all()
@endphp
但是不建议这样做 参见此处How to Set Variables in a Laravel Blade Template