如果视图中不为空,则从控制器传递的Laravel检查变量

时间:2016-06-03 11:45:22

标签: php laravel blade

我有一个变量从我的控制器传递到我的视图。如果变量为空,我想在我的视图中检查我是否显示消息如果它不为空我显示div。

这是我尝试过但它给我一个语法错误:

@if(!empty({!! $json !!}))
  <div class=""></div>
@else
  <p>Empty.</p>
@endif

我也试过

@if(!empty($json))

也不起作用。我无法看到empty消息

任何人都知道我在做错了什么?

非常感谢提前!

3 个答案:

答案 0 :(得分:2)

您只需要:

<?php $json = json_decode($json, true) ?>

@if之前的某个地方因为你得到字符串"[]"而不是数组所以你需要将json解析为数组。最好的地方是在控制器中完成。

您也不需要在@if声明中撤消它:

@if(!empty($json))

答案 1 :(得分:2)

你的变量是什么类型的?字符串?

尝试

@if( !empty( json_decode( $json) ) )

答案 2 :(得分:1)

试试这个:

@if(count($json) > 0)
  <div class=""></div>
@else
  <p>Empty.</p>
@endif