0

我有一个显示表格的页面,我只想隐藏我的表格的 1 列,并且只显示给管理员用户角色。

但我想向尚未登录我网站的来宾用户显示其他列。
当我使用此代码时:

<table>
<tr>
<td>
...
</td>
@if(Auth::user()->isAdmin())
<td>
only Admins Can See This Column
</td>
@endif
<td>
...
</td>
</tr>
</table>

它隐藏所有页面并重定向到登录并仅显示给管理员用户。

但是我需要向未登录的 guset 用户显示所有没有该列的表,我应该怎么做?

4

3 回答 3

1

您可以使用@guest刀片的指令。

<table>
    <tr>
        <td>
        ...
        </td>
        @if(Auth::user()->isAdmin())
        <td>
            only Admins Can See This Column
        </td>
        @endif
        @guest
        <td>
           This is only for guest!
        </td>
        @endguest
        ...
        </td>
    </tr>
</table>
于 2019-04-12T21:15:48.227 回答
0

如果您想隐藏管理员用户并显示其余用户,您可以按照以下步骤操作。

在您的控制器中:-

public function index(Request $request)
{
    $user = Auth::user();

    if ($user->hasRole('admin')) {
        $user = User::where('id', '!=', $user->id)->get();
    } else {
        $user = User::all();
    }
    return view('admin.users.index', compact('user'));
}

在您的刀片文件中:-

@foreach($user as $users)
    @if(Auth::user()->hasRole('admin'))
        <tr>
            <td>{{$users->id}}</td>
            <td>{{$users->name}}</td>
            <td>{{$users->email}}</td>
            <td>{{$users->password}}</td>
            <td class="text-center">
                <a href="{{ route('users.edit', $users->id)}}" class="btn btn-primary btn-sm">Edit</a>
                <form action="{{ route('users.destroy', $users->id)}}" method="post" style="display: inline-block">
                    @csrf
                    @method('DELETE')
                    <button class="btn btn-danger btn-sm" type="submit">Delete</button>
                </form>
            </td>
        </tr>
    @endif
@endforeach
于 2021-05-20T08:24:49.693 回答
0

我找到了解决方案 ::: 我们可以通过以下代码隐藏来宾并显示给我们的角色用户:

<table>
    <tr>
        <td>
        ...
        </td>
        @if(Auth()->check() and Auth::user()->isAdmin())
        <td>
            only Admins Can See This Column
        </td>
        @endif
        <td>
           ...
        </td>
        ...
        </td>
    </tr>
</table>
于 2019-04-13T05:28:43.930 回答