首页 > 解决方案 > 我在 Laravel 中显示用户和帖子列表时遇到问题

问题描述

我的数据库中有用户和帖子,我想显示数据库中用户和帖子的总数。但是当我单击登录链接时,我得到未定义的变量。

我已经获得了用户和帖子的列表,但是当我单击登录链接时它不起作用

主页的 PostController

public function index(Request $request)
    {
       $news= News::latest()->paginate(15);
       $users = User::latest();
       $totalNews = News::count();
       $totalUsers = User::count(); 
        return view('pages.welcome',compact('news', 'tags', 'users'))->with(['total'=>$totalNews])->with(['sum'=>$totalUsers]);
    }

帖子列表的 NewsController

public function index(Request $request, $tag=null)
    {   
        if($tag){
            $tag=Tag::where('name',$tag)->first();
            $news=$tag->news()->latest()->paginate(15);
        }else{
            $news= News::latest()->paginate(15);
        }
        $totalNews = News::count();
        $totalUsers = User::count();
        return view('categories.news',compact(['news','tag']))->with(['sum'=>$totalUsers])->with(['total'=>$totalNews]);
    }

@guest
   Welcome, Guest
     <br>
     <b>Stats:</b> {{$sum}}  Members, {{$total}} Topics
     <br>
     <b>Date:</b> {{ now()->format('l, d F Y \a\t h:i A')}}
     <br>
     <b><li><a href="{{ route('login')}}">Login</a></li></b> |
        @if (Route::has('register'))
          <li><a href="{{ route('register') }}">Register</a></li>
        @endif

       @else
Welcome, <a href="{{route('user_profile',auth()->user())}}">{{ Auth::user()->name }}</a> 
       <br>
       <b>Stats:</b>  Members,  Topics
       <br>
      <b>Date:</b> {{ now()->format('l, d F Y \a\t h:i A')}}
      <br>
      <br>
<a class="dropdown-item" href="{{ route('logout') }}"onclick="event.preventDefault(); document.getElementById('logout-form').submit();"> {{ __('Logout') }}</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST">
@csrf
</form>
@endguest
</ul>

我希望输出结果,但是当我单击登录链接时却没有

标签: phplaravel

解决方案


删除主页的 PostController 中的“标签”-compact,它丢失了,因此您会收到未定义的变量错误。

并为您的 CodeEditor 使用“美化器”插件;)


推荐阅读