条件不适用于叶片laravel 5.2

时间:2017-08-18 09:28:36

标签: laravel

如果用户已登录,我想加载面板

如果客户是主人

但是这两个文件都是在运行时加载的。

它不会像赌注一样运行!

@if(Auth::check())
    @extends('panel')
@else
    @extends('master')
@endif

4 个答案:

答案 0 :(得分:2)

你想要什么?为已登录用户设置不同的布局而不记录用户?

@extends(Auth::check() ? 'panel' : 'master')

你不能使用两个扩展。

两个扩展生成带代码的编译视图

<?php if(Auth::check()): ?>

<?php else: ?>

<?php endif; ?>

你可以看到,扩展不在这里。但最终 -

<?php echo $__env->make('panel')... ->render();
<?php echo $__env->make('master')... ->render();

这就是为什么要使用它们。

答案 1 :(得分:0)

尝试使用  auth()->check(), \Auth::check(),或删除/var/www/html/laravel-master/storage/framework/views/中的所有观看次数。

如果Auth :: check()不起作用,请使用Illuminate \ Support \ Facades \ Auth :: check()代替:

@if(Illuminate\Support\Facades\Auth::check())
    @extends('panel')
@else
    @extends('master')
@endif

答案 2 :(得分:0)

修改您的扩展定义:

试试这个

@extends(auth()->check() ? 'panel' : 'master')

答案 3 :(得分:0)

你应该试试这个:

@extends(isset(Auth::user()->id) ? 'panel' : 'master');

希望这对你有用!!!