php - 为什么在 laravel blade 中条件 @if 不工作? (拉拉维尔 5.3)

标签 php laravel laravel-5.3 laravel-blade

如果我的代码是这样的:

<ul class="test">
    @foreach($categories as $category)
        @if($loop->first)
            $category_id = $category->id
        @endif
    @endforeach
</ul>

存在错误:

Undefined variable: category_id (View: C:\xampp\htdocs\myshop\resources\views\front.blade.php)

如果我的代码是这样的:

<ul class="test">
    @foreach($categories as $category)
        @php
        if($loop->first)
            $category_id = $category->id
        @endphp
    @endforeach
</ul>

我工作

为什么第一种方式不行?

最佳答案

因为您正试图在 Blade View 中分配一个变量。以下是在 Blade 模板中分配变量的方法。

{{--*/ $category_id = $category->id /*--}}
<?php $category_id = $category->id ?>
@php $category_id = $category->id @endphp

@if()@endif 之间的空格只是html。这就是为什么要使用大括号来回显值 {{ $value }}

关于php - 为什么在 laravel blade 中条件 @if 不工作? (拉拉维尔 5.3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42359161/

相关文章:

jquery - laravel 中使用 ajax 的范围 slider

php - 如何处理警告:SimpleXMLElement::__construct()?

php - 如何获取没有www、子域、com/net/org/etc的域名

php - INNER JOIN 总是返回 1 行(即使它是空的)?

javascript - 如何更新 vue.js 中的值?

php - laravel 5.4 MIME 自定义错误消息不起作用?

mysql - 拉拉维尔 5.3 : Auto Incrementing Unsigned TINYINT

php - WHERE id IN 在 UPDATE 中不起作用

laravel - App\User 类包含 6 个抽象方法,因此必须声明为抽象的

Laravel 5.3 - 将多个文件附加到 Mailables