実現したいこと
- layoutsフォルダ内のapp.blade.phpを読み込む
前提
Laravelで掲示板の作成をしています。
githubへのアップで苦戦していたのですがそちらはようやく解決しました。
その代わりに何もいじってないはずなのにlayoutsフォルダ内のapp.blade.phpが読み込めなくなりました。
発生している問題・エラーメッセージ
ErrorException Undefined property: Illuminate\View\Factory::$startSection (View: /Applications/MAMP/htdocs/Laravel_work/Laravel/resources/views/layouts/app.blade.php)
該当のソースコード
app.blade.php
1<!doctype html> 2<html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 7 <!-- CSRF Token --> 8 <meta name="csrf-token" content="{{ csrf_token() }}"> 9 10 <title>{{ config('app.name', 'Laravel') }}</title> 11 12 <!-- Scripts --> 13 <script src="{{ asset('js/app.js') }}" defer></script> 14 15 <!-- Fonts --> 16 <link rel="dns-prefetch" href="//fonts.gstatic.com"> 17 <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet"> 18 19 <!-- Styles --> 20 <link href="{{ asset('css/app.css') }}" rel="stylesheet"> 21</head> 22<body> 23 <header> 24 <h1 class="page-header">掲示板</h1> 25 </header> 26 <div id="app"> 27 <nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm"> 28 <div class="container"> 29 <a class="navbar-brand" href="{{ url('/') }}"> 30 {{ config('app.name', 'Laravel') }} 31 </a> 32 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}"> 33 <span class="navbar-toggler-icon"></span> 34 </button> 35 36 <div class="collapse navbar-collapse" id="navbarSupportedContent"> 37 <!-- Left Side Of Navbar --> 38 <ul class="navbar-nav me-auto"> 39 40 </ul> 41 42 <!-- Right Side Of Navbar --> 43 <ul class="navbar-nav ms-auto"> 44 <!-- Authentication Links --> 45 @guest 46 @if (Route::has('login')) 47 <li class="nav-item"> 48 <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a> 49 </li> 50 @endif 51 52 @if (Route::has('register')) 53 <li class="nav-item"> 54 <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a> 55 </li> 56 @endif 57 @else 58 <li class="nav-item dropdown"> 59 <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre> 60 {{ Auth::user()->name }} 61 </a> 62 63 <div class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown"> 64 <a class="dropdown-item" href="{{ route('logout') }}" 65 onclick="event.preventDefault(); 66 document.getElementById('logout-form').submit();"> 67 {{ __('Logout') }} 68 </a> 69 70 <form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none"> 71 @csrf 72 </form> 73 </div> 74 </li> 75 @endguest 76 </ul> 77 </div> 78 </div> 79 </nav> 80 81 <main class="py-4"> 82 @yield('content') <!--@sectionでつけた名前と@yieldでつけた名前が一致したら表示--> 83 </main> 84 </div> 85 <footer> 86 <small>Laravel_work</small> 87 </footer> 88</body> 89</html>
index.blade.php
1@extends('layouts.app') <!--「app.blade.php」の方が親となり、「index.blade.php」の方が子のビューファイルとなる--> 2@section('content') <!--囲っている部分の名前付け--> 3<div class='container'> <!--containerクラス--> 4 <p class="pull-right"><a class="btn btn-success" href="/create-form">投稿する</a></p> <!--投稿するボタン--> 5 <h2 class='page-header'>投稿一覧</h2> <!--タイトル--> 6 <div id="search"> <!--検索ボタン--> 7 <form action="/index" method="get"> <!--indexページにget通信で送る--> 8 <input type="text" name="keyword" placeholder="キーワードを入力"> <!--入力欄--> 9 <input type="submit" name="submit" value="検索"> <!--ボタン--> 10 </form> 11 </div> 12 <table class='table table-hover'> <!--表--> 13 <tr> <!--表の1行--> 14 <th>名前</th> <!--表の見出し--> 15 <th>投稿内容</th> <!--表の見出し--> 16 <th>投稿日時</th> <!--表の見出し--> 17 <th></th> <!--表の見出し--> 18 <th></th> <!--表の見出し--> 19 </tr> 20 @foreach ($lists as $list) <!--$listsに入っている値を$listに格納し順番に表示--> 21 <tr> <!--containerクラス--> 22 <td>{{ $list->user_name }}</td> <!--$listの中のusernameを表示--> 23 <td>{{ $list->contents }}</td> <!--$listの中のcontentsを表示--> 24 <td>{{ $list->created_at }}</td> <!--$listの中のcreated_atを表示--> 25 <td><a class="btn btn-primary" href="/post/{{ $list->id }}/update-form">更新</a></td> <!--更新ボタン--> 26 <td><a class="btn btn-danger" href="/post/{{ $list->id }}/delete" onclick="return confirm('こちらの投稿を削除してもよろしいでしょうか?')">削除</a></td> <!--削除ボタン--> 27 </tr> 28 @endforeach <!--foreach文を閉じる--> 29 </table> 30</div> 31@endsection
試したこと
index.blade.phpでlayouts内のapp.blade.phpではなくviews直下のapp.blade.phpをextendsで読み込む
sectionでつけた名前が誤ってないか確認
補足情報(FW/ツールのバージョンなど)
エラー内容は「startsectionが存在しない」ということだと思いますが、囲っているエリアは@sectionと@endsectionで囲うと認識していたので、startsectionが何かわかりません。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。