前提・実現したいこと
laravelで日本史の質問アプリを作成しています。
質問ページで質問を書き、その質問内容をトップページに反映させたいのですが、できません。いろいろ調べてみて分かったことは、テーブルに質問の内容が保存されていないということです。テーブルに情報を保存する方法を教えていただけると幸いです。
post/index.blade.php(質問するページ)
laravel
1@extends("layouts.common") 2 3@include('layouts.head') 4 5@section("title", "jhpostホーム") 6 7@include('layouts.header') 8 9@section("content") 10<div class="container pt-140 pb-140"> 11 <a href="/question">トップページへ</a> 12 <form action="/post"> 13 @csrf 14 <div class="form-group"> 15 <label for="question_id">質問の題名</label> 16 <input class="form-control" type="text" name="title" id="question_id"> 17 </div> 18 <div class="form-group"> 19 <label for="category_select">カテゴリー</label> 20 <select class="form-control" name="category_master_id" id="category_select"> 21 <option value=0>選択</option> 22 @foreach($categoryMasters as $categoryMaster) 23 <option value="{{$categoryMaster->id}}">{{$categoryMaster->name}}</option> 24 @endforeach 25 </select> 26 </div> 27 <div class="form-group"> 28 <label for="quesion_content">質問の内容</label> 29 <textarea class="form-control" name="content" id="question_content" cols="30" rows="10"></textarea> 30 </div> 31 <a href="/question"><button>質問する</button></a> 32 </form> 33 34</div> 35@endsection 36@include('layouts.footer') 37
QuestonController
laravel
1<?php 2 3namespace App\Http\Controllers; 4use App\Question; 5use App\CategoryMaster; 6use Illuminate\Http\Request; 7 8class QuestionController extends Controller 9{ 10 public function index(){ 11 $questions = Question::all(); 12 $questions = Question::paginate(2); 13 return view("question.index", ["questions" => $questions]); 14 } 15 16 public function post(Request $request){ 17 $categoryMasters = CategoryMaster::all(); 18 return view("post.index", ["categoryMasters" => $categoryMasters]); 19 } 20 21 public function save(Request $request){ 22 $question = New Quesiton; 23 $question->title = $request->title; 24 $question->category_master_id = (int)$request->category_master_id; 25 $question->content = $request->content; 26 $question->save(); 27 return redirect("/question"); 28 } 29} 30
###question/index.blade.php(トップページ)←不必要かもしれませんが、一応載せておきます。
laravel
1@extends("layouts.common") 2 3@include('layouts.head') 4 5@section("title", "jhpostホーム") 6 7@include('layouts.header') 8 9@section("content") 10 11<section class="bg-dark-30 showcase-page-header module parallax-bg" data-background="assets/images/showcase_bg.jpg"> 12 <div class="titan-caption"> 13 <div class="caption-content"> 14 <div class="font-alt mb-30 titan-title-size-1"> 日本史をもっと知ろう!</div> 15 </div> 16 </div> 17</section> 18<div class="main showcase-page"> 19 <section class="module-extra-small bg-dark"> 20 <div class="container"> 21 <div class="row"> 22 <div class="col-sm-6 col-md-8 col-lg-9"> 23 <div class="callout-text font-alt;"> 24 <h4 style="margin-top: 0px;">Start Creating Beautiful Websites</h4> 25 <p style="margin-bottom: 0px;">Download Titan Free today!</p> 26 </div> 27 </div> 28 <div class="col-sm-6 col-md-4 col-lg-3"> 29 <div class="callout-btn-box"><a class="btn btn-border-w btn-circle" href="https://themewagon.com/themes/titan/">Downlaod Free</a></div> 30 </div> 31 </div> 32 </div> 33 </section> 34 35 {{-- レコード反映 --}} 36 <section class="module-medium" id="demos"> 37 <div class="container"> 38 <nav> 39 <ul> 40 <li class="pull-left list-unstyled">全て</li> 41 <li class="pull-left list-unstyled">未解決</li> 42 <li class="pull-left list-unstyled">解決済み</li> 43 </ul> 44 </nav> 45 <div class="row multi-columns-row"> 46 <table class="table table-hover"> 47 <thead> 48 <tr> 49 <th>回答数</th> 50 <th>題名</th> 51 <th>カテゴリー</th> 52 <th>ユーザー名</th> 53 <th>投稿日</th> 54 </tr> 55 </thead> 56 @foreach($questions as $question) 57 <tbody> 58 <tr> 59 <th>回答数</th> 60 <th>{{$question->title}}</th> 61 <th>{{$question->categoryMaster->getData()}}</th> 62 <th>{{$question->user->getData()}}</th> 63 <th>{{$question->created_at}}</th> 64 </tr> 65 </tbody> 66 @endforeach 67 </table> 68 </div> 69 {{ $questions->links() }} 70 </div> 71 </section> 72 73 @endsection 74 75 @include('layouts.footer')