Laravel 4.2 刀片:检查是否为空

2022-08-30 17:01:13

在Laravel刀片中,您可以执行以下操作:

{{ $variable or 'default' }}

这将检查是否设置了变量。我从数据库中获取一些数据,并且这些变量始终是设置的,因此我无法使用此方法。

我正在寻找一个速记“blade”函数来执行此操作:

{{ ($variable != '' ? $variable : '') }}

很难使用这段代码来做到这一点,因为,我不知道如何使用链接或类似的东西来做到这一点:

<a href="{{ $school->website }}" target="_blank">{{ $school->website }}</a>

我试过了:

{{ ($school->website != '' ? '<a href="{{ $school->website }}" target="_blank">{{ $school->website }}</a>' : '') }}

但是,它不起作用。而且,我想让我的代码尽可能短;)

有人可以向我解释一下吗?

更新

我不使用foreach,因为,我从数据库中获取单个对象(一所学校)。我通过以下方式将其从我的控制器传递到我的视图:

 $school = School::find($id);
 return View::make('school.show')->with('school', $school);

所以,我不想围绕每个$variable(如$school->名称)做一个。@if($value != ''){}


答案 1

试试这个:

@if ($value !== '')
    {{ HTML::link($value,'some text') }}
@endif

答案 2

在这种情况下,我更喜欢@unless指令以提高可读性。

@unless ( empty($school->website) )
    <a href="{{ $school->website }}" target="_blank">{{ $school->website }}</a>
@endunless

推荐