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
此代码更加清晰易读
@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
此代码更加清晰易读