我在Laravel中显示用户和帖子列表时遇到问题

时间:2019-09-10 23:22:39

标签: php 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>

我希望输出结果,但是单击登录链接时不会输出

3 个答案:

答案 0 :(得分:0)

我认为你看起来像这样

  sign_in user

  redirect_to user

答案 1 :(得分:0)

@guest开头的部分仅在用户未登录时输出,这是您决定放置<b>Stats:</b> {{$sum}} Members, {{$total}} Topics语句的地方。

要修复此行,请将其移动或复制到@else / @guest块的外部。

@endguest

答案 2 :(得分:0)

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

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