閲覧いただきありがとうございます。
データベースから、user_idが特定のもののみ、表示させたいです。
例えば、ログインしたユーザーが、user_id=1ならば、そのデータのみ表示させるマイページ画面を表示させるものです。
現在、user_idは取得できているのですが、それに一致したデータが表示されず、マイページをクリックすると、not found が表示されてしまい困っています。
よろしくお願いします。
web.php
php
1 2Route::group(['middleware' => 'auth'],function(){ 3 4 Route::get('/users/{user_id}/plans', 'HomeController@index')->name('home');/こちらを使ってマイページを表示させたいです/ 5 6 Route::get('/plans/create', 'PlanController@showCreateForm')->name('plans.create'); 7 Route::post('/plans/create', 'PlanController@create'); 8 9 Route::get('/users/{user_id}/plans/{p_id}/edit', 'PlanController@showEditForm')->name('plans.edit'); 10 Route::post('/users/{user_id}/plans/{p_id}/edit', 'PlanController@edit'); 11 12}); 13 14Auth::routes(); 15 16Route::get('/plans', 'PlanController@index')->name('plans.index');
Homecontroller.php
php
1 2public function index() 3 { 4 $user_id = Auth::id(); 5 6 $plans = Plan::where('user_id',$user_id)->select('title','image'); 7 8 return view('home',[ 9 'user_id' => $user_id, 10 'plans' => $plans, 11 ]); 12 }
layout.blade.php
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>Travel</title> 8 @yield('styles') 9 <link rel="stylesheet" href="/css/styles.css"> 10</head> 11<body> 12<header> 13 <nav class="my-navbar"> 14 <a class="my-navbar-brand" href="{{ route('plans.index') }}">Travel</a> 15 <div class="my-navbar-control"> 16 @if(Auth::check()) /ここのマイページから、目的のマイページに遷移/ 17 <a href=“{{ route('home', ['user_id' => Auth::id()]) }}” id=“mypage” class=“my-navbar-item”>マイページ</a> 18 | 19 <a href="#" id="logout" class="my-navbar-item">ログアウト</a> 20 <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;"> 21 @csrf 22 </form> 23 @else 24 <a class="my-navbar-item" href="{{ route('login') }}">ログイン</a> 25 | 26 <a class="my-navbar-item" href="{{ route('register') }}">会員登録</a> 27 @endif 28 </div> 29 </nav> 30</header> 31<main> 32 @yield('content') 33</main> 34@if(Auth::check()) 35 <script> 36 document.getElementById('logout').addEventListener('click', function(event) { 37 event.preventDefault(); 38 document.getElementById('logout-form').submit(); 39 }); 40 </script> 41@endif 42@yield('scripts') 43</body> 44</html> 45
home.blade.php
HTML
1@extends('layout') 2 3@section('content') 4 <div class="container"> 5 <div class="row"> 6 <div class="col col-md-offset-3 col-md-6"> 7 <nav class="panel panel-default"> 8 <div class="panel-heading"> 9 登録プラン一覧 10 </div> 11 <div class="panel-body"> 12 <div class="text-center"> 13 <div> 14 @foreach ($plans as $plan) 15 <div class="list-group-item"> 16 {{ $plan->title }} <br > 17 {{ $plan->image }} 18 </div> 19 @endforeach 20 </div> 21 </div> 22 </div> 23 </nav> 24 </div> 25 </div> 26 </div> 27@endsection 28
回答4件
あなたの回答
tips
プレビュー