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

时间:2016-07-15 00:21:34

标签: php laravel laravel-blade

@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

我正在尝试使用上面的代码。但是,它只显示任何内容。这似乎是一个简单的问题,但我不太确定是什么问题。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

希望有帮助=)

答案 2 :(得分:0)

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

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

此代码更清晰,更易读