質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1243閲覧

つぶやきの投稿が保存されない。

takumi_0827

総合スコア0

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/06/05 11:31

前提・実現したいこと

つぶやきの投稿をpostsテーブルに保存したい。

発生している問題・エラーメッセージ

★投稿前
https://gyazo.com/9ccb7bdf4cf701ac3e3b10bfc7b4e103
★投稿後
https://gyazo.com/ff21b0497ac183c581091a987f8e7898

投稿を行うと投稿内容が消えたトップ画面になります。
完成したかと思い、ターミナルでテーブルのカラムにちゃんと保存されているかチェックしようとしたところ、
下記のとおり「Empty set」と表示がされてしまいました。
https://gyazo.com/0e7802693611f52bd726fe879a1a73f9

該当のソースコード

routes/web.php

php

1Route::resource('top', 'PostsController', ['only' => ['index', 'create', 'store', 'show', 'edit', 'update', 'destroy']]);

resources/views/views/posts/index.blade.php

php

1@extends('layouts.login') 2 3@section('content') 4<!-- 4.1 投稿フォームの設置 --> 5<div class="container"> 6 <div class="row justify-content-center"> 7 <form method="POST" action="{{ route('top.store') }}"> 8 {{ csrf_field() }} 9 10 <div class="form-group"> 11 <div class="form-group-image"> 12 <!-- 初期アイコン --> 13 <p><img src="images/dawn.png" class="rounded-circle"></p> 14 </div> 15 <div class="form-group-text"> 16 <textarea class="form-control" name="text" style="border:none;" required rows="4" placeholder="何をつぶやこうか...?"></textarea> 17 </div> 18 <div class="form-group-icon"> 19 <input src="images/post.png" type="image"></input> 20 </div> 21 </div> 22 23 </form> 24 </div> 25</div> 26@endsection 27

app/Models/Post.php

php

1<?php 2 3namespace App; 4 5use Illuminate\Database\Eloquent\Model; 6 7class Post extends Model 8{ 9 // 4.1 ログインユーザーのつぶやきを登録 10 public function postStore(Int $user_id, array $data) 11 { 12 $this->user_id = $user_id; 13 $this->posts = $data['text']; 14 $this->save(); 15 16 return; 17 } 18} 19

app/Http/Controllers/PostsController.php

php

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use Illuminate\Support\Facades\Validator; 7use App\User; 8use App\Post; 9use App\Follow; 10 11class PostsController extends Controller 12{ 13 // 3.3 サイドバー/フォロー,フォロワー数の表示 14 public function index(User $user, Follow $follow) 15 { 16 $follow_count = $follow->getFollowCount($user->id); 17 $follower_count = $follow->getFollowerCount($user->id); 18 19 return view('posts.index', [ 20 'follow_count' => $follow_count, 21 'follower_count' => $follower_count 22 ]); 23 } 24 25 // 4.1 ログインユーザーのつぶやきを登録 26 public function store(Request $request, Post $post) 27 { 28 $user = auth()->user(); 29 $data = $request->all(); 30 $validator = Validator::make($data, [ 31 'posts' => ['required', 'string', 'max:150'] 32 ]); 33 34 $validator->validate(); 35 $post->postStore($user->id, $data); 36 37 return redirect('posts'); 38 } 39}

補足情報

作成の参考にしたサイトはこちらです。
https://qiita.com/namizatork/items/c9ed67f98fc3e5ce67c7

以上となります。
初心者ですが、どうぞよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

app/Http/Controllers/PostsController.php

<textarea class="form-control" name="text" style="border:none;" required rows="4" placeholder="何をつぶやこうか...?"></textarea> ↓ <textarea class="form-control" name="posts" style="border:none;" required rows="4" placeholder="何をつぶやこうか...?"></textarea>

app/Models/Post.php

php

1$this->posts = $data['text']; 23$this->posts = $data['posts'];

に修正したら、直りました!

投稿2021/06/05 13:07

takumi_0827

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問