Laravel刀片模板一旦回显变量,一次就不会出错

时间:2019-03-17 21:25:48

标签: laravel laravel-blade

我最近在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

enter image description here 问题是我总是回显第一个$ hosts变量,而第二个则没有。我勒个去?绝对不应该回显此类变量,因为该命令只是变量值的归属。

我已经检查了所有路线,这里没有dd()或var_dump()命令。

2 个答案:

答案 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