前提・実現したいこと
掲示板アプリを作成しております。
詳細ページにおいてコメントを投稿する機能を実装中なのですが、エラーで躓いて解決できない状況です。
ご教授いただけると幸いです。
発生している問題・エラーメッセージ
UnexpectedValueException The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied Monolog\Handler\StreamHandler::write vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:111
該当のソースコード
Web.php(該当箇所のみ記載。)
PHP
1Route::resource('/comments', 'CommentController')->except(['index', 'show'])->middleware('auth');
CommentController.php(storeアクション以外はまだ実装しておりません。)
PHP
1<?php 2 3namespace App\Http\Controllers; 4 5use App\Comment; 6use App\Http\Requests\CommentRequest; 7use Illuminate\Http\Request; 8 9class CommentController extends Controller 10{ 11 public function store(CommentRequest $request, Comment $comment) 12 { 13 $comment->fill($request->all()); 14 $comment->user_id = $request->user()->id; 15 $comment->article_id = $request->article()->id; 16 $comment->save(); 17 return redirect()->route('articles.show'); 18 } 19 20 public function edit() 21 { 22 // 23 } 24 25 public function update() 26 { 27 // 28 } 29 30 public function destroy() 31 { 32 // 33 } 34}
Comment.php
PHP
1<?php 2 3namespace App; 4 5use Illuminate\Database\Eloquent\Model; 6use Illuminate\Database\Eloquent\Relations\BelongsTo; 7 8class Comment extends Model 9{ 10 protected $fillable = [ 11 'body', 12 ]; 13 14 public function user(): BelongsTo 15 { 16 return $this->belongsTo('App\User'); 17 } 18 19 public function article(): BelongsTo 20 { 21 return $this->belongsTo('App\Article'); 22 } 23} 24
〇〇_create_comments_table.php
PHP
1<?php 2 3use Illuminate\Database\Migrations\Migration; 4use Illuminate\Database\Schema\Blueprint; 5use Illuminate\Support\Facades\Schema; 6 7class CreateCommentsTable extends Migration 8{ 9 /** 10 * Run the migrations. 11 * 12 * @return void 13 */ 14 public function up() 15 { 16 Schema::create('comments', function (Blueprint $table) { 17 $table->bigIncrements('id'); 18 $table->text('body'); 19 $table->bigInteger('user_id')->unsigned(); 20 $table->bigInteger('article_id')->unsigned(); 21 $table->timestamps(); 22 }); 23 } 24 25 /** 26 * Reverse the migrations. 27 * 28 * @return void 29 */ 30 public function down() 31 { 32 Schema::dropIfExists('comments'); 33 } 34}
show.blade.php
PHP
1@extends('app') 2 3@section('title', '記事詳細') 4 5@section('content') 6 @include('nav') 7 <div class="container"> 8 @include('articles.card') 9 </div> 10 <div class=h4>コメント</div> 11 <div> 12 @foreach($article->comments as $comment) 13 <div class="font-weight-bold">{{ $comment->user->name }}</div> 14 <div class="font-weight-lighter">{{ $comment->created_at->format('Y/m/d H:i') }}</div> 15 <div>{{ $comment->body }}</div> 16 @endforeach 17 </div> 18 19 <form method="POST" action="{{ route('comments.store') }}"> 20 @csrf 21 <div class="form-group"> 22 <textarea name="body" class="form-control" rows="16" placeholder="コメントを入力してください">{{ $comment->body ?? old('body') }}</textarea> 23 </div> 24 <button type="submit" class="btn blue-gradient btn-block">投稿する</button> 25 </form> 26@endsection
試したこと
show.blade.phpのコメントを表示する箇所(@foreachから@endforaeachまで)を一時的に削除すると詳細ページを表示することはできます。
その状態でコメントを入力し投稿すると同じエラー(上で記載したUnexpectedValueException)になります。
SQLでデータが送られているかも確認しました。
mysql> SHOW COLUMNS FROM comments;
+------------+-----------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-----------------+------+-----+---------+----------------+ | id | bigint unsigned | NO | PRI | NULL | auto_increment | | body | text | NO | | NULL | | | user_id | bigint unsigned | NO | | NULL | | | article_id | bigint unsigned | NO | | NULL | | | created_at | timestamp | YES | | NULL | | | updated_at | timestamp | YES | | NULL | | +------------+-----------------+------+-----+---------+----------------+
mysql> select * from comments;
Empty set (0.01 sec)
入力したデータは保存できていないみたいです。
補足情報(FW/ツールのバージョンなど)
PHP 8.0.3
Laravel 6.20.24
Docker 20.10.5
docker-compose 1.29.0
windowsを使用。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/05/09 08:13
退会済みユーザー
2021/05/10 01:09
退会済みユーザー
2021/05/10 13:42