如果Laravel Blade中的变量值为空,如何显示默认URL

时间:2018-11-27 06:22:14

标签: php laravel ternary-operator laravel-blade

我知道,对于普通变量,我可以使用类似{{ $vid->shares ? : '0' }}之类的东西来显示Laravel 5.7刀片文件中的默认信息。

现在我需要显示图像源,就像<img src="{{ url($vid->thumb_file) }}">一样,在我输入空白值之前,它可以正常工作。

是否可以通过添加默认后备图片网址来避免这种情况?还是“如果没有”仅仅是更好的解决方案?

类似{{ url($vid->thumb_file) ?: url('/images/video-thumbnail.png') }}的东西无法正常工作。

2 个答案:

答案 0 :(得分:3)

您可以如下使用:

<img src="{{ $vid->thumb_file ? url($vid->thumb_file) : url('/images/video-thumbnail.png') }}" alt="" class="img-fluid">

这与您在上面使用的三元运算符相同:{{ $vid->shares ?: '0' }}

您也可以在控制器中对其进行检查,例如:

if (file_exists(public_path() . '/images/' . $vid->image)) {
    $img = $vid->image;
} else {
    $img = '/images/video-thumbnail.png';
} 

希望这会有所帮助!

答案 1 :(得分:2)

您可以使用以下方式:

{{ isset($vid->thumb_file) ? $vid->thumb_file : url('/images/video-thumbnail.png') }}

<img src="{{ isset($vid->thumb_file) ? $vid->thumb_file : url('/images/video-thumbnail.png') }}" alt="" class="img-fluid">