blade 中的 Elseif 不工作,laravel 和 blade(简单)

Elseif in blade not working, laravel and blade (simple)

@if($note->user->name->verified === false && $note->user->name->rejected === false)
    unchecked
@elseif($note->user->name->rejected === true && $note->user->name->verified === false)
    Rejected
@elseif($note->user->name->verified === true && $note->user->name->rejected=== false)
    Approved
@endif

我正在尝试使用上面的这段代码。但是,它只是什么都不显示。这似乎是一个简单的问题,但我不太确定哪里出了问题。

您可能希望type cast您的模型的属性为布尔值以使用相同的比较运算符。

或者您可以尝试将 ===(相同运算符)替换为 ==(等于运算符)的替代方法。正如@Malta 所建议的,您面临的问题可能是由您比较的两个变量的不同数据类型引起的。

Ps:这可能有效,但您无法检查两个变量是否具有相同的数据类型。

希望对您有所帮助=)

这不关我的事,但你的代码看起来很糟糕。
你能提出一些改进建议吗?
他们在这里
在您的注意模型中

public function isRejected()
{
    return (bool) $this->user->name->rejected;
}

public function isVerified()
{
    return (bool) $this->user->name->verified;
}

然后

@if( !$note->isVerified() && !$note-isRejected() )
    unchecked
@elseif( $note->isRejected() && !$note->isVerified() )
    Rejected
@elseif( $note->isVerified() && !$note->isRejected() )
    Approved
@endif

此代码更加清晰易读