我的数据库中有用户和帖子,我想显示数据库中的用户和帖子总数。但是,当我单击登录链接时,会得到未定义的变量。
我已经获得了用户和帖子列表,但是当我单击登录链接时它不起作用
主页的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>
我希望输出结果,但是单击登录链接时不会输出
答案 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使用“美化”插件;)