php 在Laravel中传递一个布尔值到视图[duplicate]

s3fp2yjn  于 2023-04-10  发布在  PHP
关注(0)|答案(2)|浏览(105)

此问题已在此处有答案

Reference Guide: What does this symbol mean in PHP? (PHP Syntax)(25个回答)
The 3 different equals(5个答案)
上个月关门了。

我想做的事:

我尝试向我的视图传递一个布尔值来检查它是否为真。如果它被设置为真,我想添加一个类。我使用Laravel。实际上,这是我的情况:

  • 将.red类添加到所有行
  • $finances-〉depense总是返回1,即使它在数据库中显示为0

下面是我的代码:

index.blade.php

@foreach($finances as $finance)
    @if ($finance->depense = 1)
        <tr class="red">
    @elseif ($finance->depense = 0) 
        <tr>
    @endif
            <td><a href="{{ URL::to('finances/' . $finance->id) }}">{{$finance->description}}</a></td>
            <td>{{ $finance->depense }}</td>
            <td>{{ $finance->prix }}</td>
            <td>{{ $finance->tps }}</td>
            <td>{{ $finance->tvq }}</td>
            <td>{{ $finance->grandtotal }}</td>
        </tr>
@endforeach

FinancesController.php

public function index()
{
    $finances = Finance::all();
    return View::make('finances.index')->withFinances($finances);
}

怎么了?

7gs2gvoe

7gs2gvoe1#

答案终于很简单了。
而不是

@if ($finance->depense = 1)
    <tr class="red">
@elseif ($finance->depense = 0) 
    <tr>
@endif

我将表达式从**=(赋值运算符) 更改为==**(相等)

@if ($finance->depense == 1)
    <tr class="red">
@else 
    <tr>
@endif

不要忘记使用double equal来比较。

pqwbnv8z

pqwbnv8z2#

我可能是错的,但我认为你不需要在条件检查中与布尔值进行比较,因为它默认为true。

@if ($finance->depense)
    <tr class="red">
@else 
    <tr>
@endif

如果要检查是否为false,请添加“!”

@if (!$finance->depense)
    <tr class="red">
@else 
    <tr>
@endif

相关问题