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

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

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

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

PHP

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

Q&A

1回答

997閲覧

エラーの修正点が分からない。

kazu100817

総合スコア2

Laravel

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

PHP

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

0グッド

0クリップ

投稿2020/07/27 11:43

編集2020/07/27 12:00

前提・実現したいこと

投稿一覧ページを作りたい
ここに質問の内容を詳しく書いてください。
PHPでLaravelを使ってアプリを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
投稿一覧ページの動作確認をした時にエラーメッセージが出ました。

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

https://i.gyazo.com/dc6c7c8b2e676faa1003d991a150a61c.png

エラーメッセージ

該当のソースコード

PHP

1@extends('layouts.app') 2 3@section('content') 4 @if (count($reviews) > 0) 5 <ul class="list-unstyled"> 6 @foreach ($reviews as $review) 7 <li class="media mb-3"> 8 {{-- 投稿の所有者のメールアドレスをもとにGravatarを取得して表示 --}} 9 <img class="mr-2 rounded" src="{{ Gravatar::get($micropost->user->email, ['size' => 50]) }}" alt=""> 10 <div class="media-body"> 11 <div> 12 <span class="text-muted">posted at {{ $review->created_at }}</span> 13 </div> 14 <div> 15 {{-- 投稿内容 --}} 16 <p class="mb-0">{!! nl2br(e($review->content)) !!}</p> 17 </div> 18 <div> 19 @if (Auth::id() == $review->user_id) 20 {{-- 投稿削除ボタンのフォーム --}} 21 {!! Form::open(['route' => ['reviews.destroy', $review->id], 'method' => 'delete']) !!} 22 {!! Form::submit('Delete', ['class' => 'btn btn-danger btn-sm']) !!} 23 {!! Form::close() !!} 24 @endif 25 </div> 26 </div> 27 </li> 28 @endforeach 29 </ul> 30 {{-- ページネーションのリンク --}} 31 {{ $reviews->links() }} 32@endif 33@endsection

MyreviewsController

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7use App\User; 8 9class MyreviewsController extends Controller 10{ 11 public function index() 12 { 13 // ユーザ一覧をidの降順で取得 14 $users = User::orderBy('id', 'desc')->paginate(10); 15 16 17 // ユーザ一覧ビューでそれを表示 18 return view('reviews.review', [ 19 'users' => $users, 20 ]); 21 22 } 23 24 /** 25 * Show the form for creating a new resource. 26 * 27 * @return \Illuminate\Http\Response 28 */ 29 public function create() 30 { 31 // 32 } 33 34 /** 35 * Store a newly created resource in storage. 36 * 37 * @param \Illuminate\Http\Request $request 38 * @return \Illuminate\Http\Response 39 */ 40 public function store(Request $request) 41 { 42 // 43 } 44 45 /** 46 * Display the specified resource. 47 * 48 * @param int $id 49 * @return \Illuminate\Http\Response 50 */ 51 public function show($id) 52 { 53 $user = User::findOrFail($id); 54 55 $user->loadRelationshipCounts(); 56 57 $reviews = $user->reviews()->orderBy('created_at', 'desc')->paginate(100); 58 59 60 return view('reviews.review', [ 61 'users' => $user, 62 'reviews'=>$review 63 ]); 64 } 65 66 /** 67 * Show the form for editing the specified resource. 68 * 69 * @param int $id 70 * @return \Illuminate\Http\Response 71 */ 72 public function edit($id) 73 { 74 // 75 } 76 77 /** 78 * Update the specified resource in storage. 79 * 80 * @param \Illuminate\Http\Request $request 81 * @param int $id 82 * @return \Illuminate\Http\Response 83 */ 84 public function update(Request $request, $id) 85 { 86 // 87 } 88 89 /** 90 * Remove the specified resource from storage. 91 * 92 * @param int $id 93 * @return \Illuminate\Http\Response 94 */ 95 public function destroy($id) 96 { 97 // 98 } 99}

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

hayato7

2020/07/27 11:49

エラー内容をみるに、変数がコントローラーからうまく渡せていないように見えます。 コントローラー側の処理も記載していただけますか?
kai0310

2020/07/27 11:53

すいません。被ってしまった様です。。
kazu100817

2020/07/27 12:00

申し訳ございません。載せました。
m.ts10806

2020/07/27 20:17

画像はteratailの画像投稿機能を利用してください。
guest

回答1

0

Controllerのコードを見ていないので分かりませんが、Viewに変数$reviewsを渡していないからだと思います。

Diff

1 2- return view('reviews.review', [ 3+ return view('reviews.review')->with([ 4 'users' => $user, 5- 'reviews'=>$review 6+ 'reviews'=>$reviews, 7+ ]);

投稿2020/07/27 11:52

編集2020/07/27 12:36
kai0310

総合スコア2070

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

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

kai0310

2020/07/27 12:14

追記した部分を修正してみてください。
kazu100817

2020/07/27 12:24

すみません改善できませんでした。
kai0310

2020/07/27 12:26

エラーメッセージは変わりましたか?
kazu100817

2020/07/27 12:29

変わりませんでした。
kazu100817

2020/07/27 12:41

申し訳ないのですが、修正したのですが、治りませんでした。
kai0310

2020/07/27 12:55

ちなみにどこでviewを返していますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問