在我的页面上,我有两个包装器,一些用户没有权限查看第二个包装器,所以使用@if($user->direct_mail == 0)
我隐藏了第二个包装器,这很棒!
然而,当我登录用户时,我得到Trying to get property of non-object
我认为这是因为控制器仍然传回第二个包装器的变量,虽然它隐藏但它仍然会引发错误。
如果变量是null
或等于0
,是否有办法不将变量返回到视图。我的理解是因为内容在if语句中,因此隐藏(它是)它不会抛出错误,因为在页面上没有调用变量。
示例 -
@if($user->direct_mail == 0)
<div class="wrapper">
<h2>Wrapper 1#</h2>
{{ $mailJumbo->dm_sent }}
</div>
@endif
@if($user->website == 0)
<div class="wrapper">
<h2>Wrapper 2#</h2>
{{ $website->stats }}
</div>
@endif
路线
return view('home')
->with('website', $website)
->with('mailJumbo', $mailJumbo)
变量$mailJumbo
为空,因为用户在其用户配置文件中没有数据,这就是错误存在的原因。如果用户具有查看两个包装器的正确权限,则错误不存在。
答案 0 :(得分:1)
您可以在括号输出中检查该变量不是document.getElementById(...).getElementsByClass is not a function
:
null
刀片引擎在运行时没有解析它,我想,这是你从一个你认为无法访问的块中获取错误的方式。