前提・実現したいこと
laravelでTwiitterクローンを作っています。
@section('content')を利用して全てのページに@yield('content')の部分を表示させたいです。
ViewComposerを使わない方法を知りたいです。
トップページでは@yield('content')の部分は表示されますが、フォロー数、フォロワー数、ユーザー検索などを押すとエラーが出てしまいます。
発生している問題・エラーメッセージ
Undefined variable: follow_count
layouts>login.blade
<div id="container"> @yield('content') </div > <div id="side-bar"> <div id="confirm"> <p>{{ Auth::user()->username }}さんの</p> <div> <p>フォロー数</p> <p>{{$follow_count}}名</p> </div> <p class="btn"><a href="/followList">フォローリスト</a></p> <div> <p>フォロワー数</p> <p>{{$follower_count}}名</p> </div> <p class="btn"><a href="/followerList">フォロワーリスト</a></p> </div> <p class="btn"><a href="/search">ユーザー検索</a></p> </div> </div>
posts>index.blade
@extends('layouts.login') @section('content') @foreach ($timelines as $timelines) <table class="table table-hover"> <tr> <td> <a href="{{$timelines->user_id}}/profile"><img class="image-circle" src="{{ asset('images/dawn.png' . $timelines->images ) }}" alt="ユーザーアイコン"></a> </td> <td>{{ $timelines->username }}</td> <td>{{ $timelines->posts }}</td> <td>{{ $timelines->created_at }}</td> @if(Auth::id()==$timelines->user_id) <td> <button type="button" class="btn" data-toggle="modal" data-target="#Modal" data-whatever="{{ $timelines->posts }}" data-post-id="{{$timelines->id}}"> <img src="{{ asset('images/edit.png') }}" alt="編集" > </button> </td> <td> <a class="" href="/delete{{$timelines->id}}/delete" onclick="return confirm('こちらの呟きを削除します。よろしいでしょうか?')"> <img src="images/trash.png" alt="削除" width="25px" height="auto"> </a> </td> @endif </tr> </table> @endforeach @endsection
PostsController
public function index(Post $post, Follow $follow, User $user) { $user = auth()->user(); $follow_ids = $follow->followingIds($user->id); $following_ids = $follow_ids->pluck('follower_id')->toArray(); $timelines = $post->getTimelines($user->id, $following_ids); $follow_count = $follow->getFollowCount($user->id); $follower_count = $follow->getFollowerCount($user->id); return view('posts.index', [ 'user' => $user, 'timelines' => $timelines, 'follow_count' => $follow_count, 'follower_count' => $follower_count ]); }
web.php
Route::get('/top','PostsController@index');
試したこと
最初return view('layouts.login')で試したのですがうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
index.bladeのモーダルは省略してあります。
回答1件
あなたの回答
tips
プレビュー