[英]Elegant way for quick IF statement in blade
我是Laravel的新手,我知道我可以像这样在双大括号内回显变量:
<p>{{ $posts->id }}</p>
现在,以我为例,我有一个表单,该表单有时包含要更新的变量$ posts(顺便说一下,这是表格),有时不包含该变量以根据URL中的参数插入行。
当然,如果没有发布,则“-> id”部分将失败。 有没有一种优雅的方法可以在此处快速执行IF语句,例如:
<?php if ($posts) echo $posts["id"]; ?>
但仅使用刀片引擎。
我知道我可以在HTML块周围使用@if,但是那时候我必须一直写两次该块。
这取决于$posts
到底是什么。
您可以使用三元语句。 例如,如果$posts
是collection或array,则使用empty
:
{{ empty($posts) ? '' : $posts->id }}
如果只是变量,请使用isset()
在某些情况下可以使用or
语法:
{{ $posts or 'It is empty' }}
在PHP7中,您可以使用??
(空合并运算符)以检查变量isset()
。 例如:
{{ $posts ?? $posts->id }}
您可以在官方文档中看到另一种解释(请参阅“ Echoing Data If It Exists
部分)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.