質問編集履歴

5

追記

2023/12/18 07:06

投稿

student
student

スコア87

test CHANGED
File without changes
test CHANGED
@@ -108,6 +108,17 @@
108
108
  return view('users.show', ['user' => $user, 'current_user'=> $current_user, 'posts' => $posts]);
109
109
  }
110
110
  ```
111
+ !追記!
112
+ ・ルーティング
113
+ ```routes/web.php
114
+ //ユーザー
115
+ Auth::routes();
116
+ Route::get('/user/{id}/regulation', [App\Http\Controllers\UserController::class, 'regulation'])->name('user.regulation');
117
+ Route::post('/user/{id}/regulation', [App\Http\Controllers\UserController::class, 'regulation'])->name('user.regulation');
118
+ Route::get('/user/{id}/cancell_regulation', [App\Http\Controllers\UserController::class, 'cancell_regulation'])->name('user.cancell_regulation');
119
+ Route::post('/user/{id}/cancell_regulation', [App\Http\Controllers\UserController::class, 'cancell_regulation'])->name('user.cancell_regulation');
120
+ Route::resource('user', App\Http\Controllers\UserController::class);
121
+ ```
111
122
 
112
123
  ### 試したこと
113
124
  ```@if(!is_null($user->profile_image))```に書き換えたのですが、それでもエラーが発生しました。

4

追記

2023/12/11 02:26

投稿

student
student

スコア87

test CHANGED
File without changes
test CHANGED
@@ -81,6 +81,12 @@
81
81
  ```
82
82
 
83
83
  ```UserController
84
+ public function edit(Request $request, $id)
85
+ {
86
+ $user = Auth::user();
87
+ $current_user = Auth::user();
88
+ return view('users.edit', compact('user'));
89
+ }
84
90
  public function update(Request $request, $id)
85
91
  {
86
92
  $user = Auth::user();

3

修正

2023/12/08 05:33

投稿

student
student

スコア87

test CHANGED
File without changes
test CHANGED
@@ -81,26 +81,10 @@
81
81
  ```
82
82
 
83
83
  ```UserController
84
- public function show($id)
85
- {
86
- $user = User::find($id);
87
- $current_user = Auth::user();
88
- $posts = Post::where('user_id', '=', $current_user)->orderBy('created_at', 'desc')->get();
89
- $other_posts = Post::where('user_id', '=', $id)->orderBy('created_at', 'desc')->get();
90
- $check = Check::where('user_id', '=', $current_user)
91
- ->where('check_id', '=', $id)
92
- ->first();
93
- return view('users.show', ['user' => $user, 'current_user'=> $current_user, 'posts' => $posts, 'other_posts' => $other_posts, 'check'=>$check,]);
94
- }
95
- public function edit(Request $request, $id)
84
+ public function update(Request $request, $id)
96
85
  {
97
86
  $user = Auth::user();
98
- return view('users.edit', compact('user'));
99
- }
100
- public function update(Request $request, $id)
101
- {
102
- $user = Auth::user();
103
- $current_user = Auth::id();
87
+ $current_user = Auth::user();
104
88
  $posts = Post::where('user_id', '=', $current_user)->get();
105
89
  if($request->profile_image){
106
90
  $user->profile_image = $request->profile_image->store('profile_images');
@@ -111,10 +95,11 @@
111
95
  if($request->password){
112
96
  $user->password = $request->password;
113
97
  $user->save();
98
+ //\Session::flash('flash_message', 'ユーザー情報を更新しました');
114
- return view('users.show', ['user' => $user, 'current_user'=> $current_user, 'posts' => $posts])->with('ユーザー情報を更新しました');
99
+ return view('users.show', ['user' => $user, 'current_user'=> $current_user, 'posts' => $posts]);
115
100
  }
116
101
  $user->save();
117
- return view('users.show', ['user' => $user, 'current_user'=> $current_user, 'posts' => $posts])->with('ユーザー情報を更新しました');
102
+ return view('users.show', ['user' => $user, 'current_user'=> $current_user, 'posts' => $posts]);
118
103
  }
119
104
  ```
120
105
 

2

追記

2023/12/06 13:46

投稿

student
student

スコア87

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 実現したいこと
2
- HerokuにLaravelプロジェクトをアップしたのですが、if文で毎回、エラーが起きる度に修正を入れていたのですが、```@if($user->profile_image)```がどうしても修正しようとしてもエラーが出続けます。
2
+ HerokuにLaravelプロジェクトをアップしたのですが、ユーザー情報を変更(update)してshowページへ遷移させる際に、if文で毎回、エラーが起きる度に修正を入れていたのですが、```@if($user->profile_image)```がどうしても修正しようとしてもエラーが出続けます。
3
3
  if文からprofile_imageがnullの場合はデフォルトで用意している表示をするようにしているのですが、nullのprofile_imageを読み込もうとしていますというようなエラーが発生します。
4
4
 
5
5
 
@@ -80,6 +80,44 @@
80
80
  @else
81
81
  ```
82
82
 
83
+ ```UserController
84
+ public function show($id)
85
+ {
86
+ $user = User::find($id);
87
+ $current_user = Auth::user();
88
+ $posts = Post::where('user_id', '=', $current_user)->orderBy('created_at', 'desc')->get();
89
+ $other_posts = Post::where('user_id', '=', $id)->orderBy('created_at', 'desc')->get();
90
+ $check = Check::where('user_id', '=', $current_user)
91
+ ->where('check_id', '=', $id)
92
+ ->first();
93
+ return view('users.show', ['user' => $user, 'current_user'=> $current_user, 'posts' => $posts, 'other_posts' => $other_posts, 'check'=>$check,]);
94
+ }
95
+ public function edit(Request $request, $id)
96
+ {
97
+ $user = Auth::user();
98
+ return view('users.edit', compact('user'));
99
+ }
100
+ public function update(Request $request, $id)
101
+ {
102
+ $user = Auth::user();
103
+ $current_user = Auth::id();
104
+ $posts = Post::where('user_id', '=', $current_user)->get();
105
+ if($request->profile_image){
106
+ $user->profile_image = $request->profile_image->store('profile_images');
107
+ }
108
+ $user->name = $request->name;
109
+ $user->email = $request->email;
110
+ $user->self_introduction = $request->self_introduction;
111
+ if($request->password){
112
+ $user->password = $request->password;
113
+ $user->save();
114
+ return view('users.show', ['user' => $user, 'current_user'=> $current_user, 'posts' => $posts])->with('ユーザー情報を更新しました');
115
+ }
116
+ $user->save();
117
+ return view('users.show', ['user' => $user, 'current_user'=> $current_user, 'posts' => $posts])->with('ユーザー情報を更新しました');
118
+ }
119
+ ```
120
+
83
121
  ### 試したこと
84
122
  ```@if(!is_null($user->profile_image))```に書き換えたのですが、それでもエラーが発生しました。
85
123
  profile_imageを読み込まないのはifの記述が原因でしょうか?

1

コードの更新

2023/12/06 13:29

投稿

student
student

スコア87

test CHANGED
File without changes
test CHANGED
@@ -12,11 +12,72 @@
12
12
  ### 該当のソースコード
13
13
 
14
14
  ```
15
+ @if($current_user == $user)
16
+ <div class="mypage container">
17
+ <div class="row justify-content-center">
18
+
19
+ <div class="mypage-body">
20
+ <div class="mypage-header">
21
+ <div class="mypage-name">
15
- @if($user->profile_image)
22
+ @if($user->profile_image)
16
- <p><img src="{{ asset('storage/' . $user['profile_image']) }}" width="100" height="40" class="user-show-profile-img"></p>
23
+ <p><img src="{{ asset('storage/' . $user['profile_image']) }}" width="100" height="40" class="user-show-profile-img"></p>
17
- @else
24
+ @else
18
- <p class="user-profile-header-no-img">No Image</p>
25
+ <p class="user-profile-header-no-img">No Image</p>
19
- @endif
26
+ @endif
27
+ <div class="user-page-show-name">
28
+ <h2>{{ $user->name }}</h2>
29
+ </div>
30
+ </div>
31
+ <div class="mypage-user-edit">
32
+ <a href="{{ route('user.edit', $user->id) }}" class="mypage-user-edit-btn btn btn-outline-success">設定</a>
33
+ </div>
34
+ </div>
35
+ <div class="mypage-introducition">
36
+ <div class="mypage-introduction-title">
37
+ <h5>詳細</h5>
38
+ </div>
39
+ <div class="mypage-introduction-content">
40
+ <p>{!! nl2br(e($user->self_introduction)) !!}</p>
41
+ </div>
42
+ </div>
43
+ </div>
44
+
45
+ <div class="mypage-myposts">
46
+ <div class="mypage-mypost-title">
47
+ <h3>ポッドキャスト</h3>
48
+ </div>
49
+ @if($posts->isEmpty())
50
+ <p class="post-null">投稿はありません</p>
51
+ @endif
52
+ <div class="user-page-post">
53
+ @foreach($posts as $post)
54
+ <div class='user-post-card'>
55
+ <a href="/posts/{{$post['id']}}" class="user-post-a">
56
+ <p class="user-card-img"><img src="{{ asset('storage/' . $post['image']) }}"></p>
57
+ <div class="user-card-body">
58
+ <div class="user-card-title">
59
+ <p>{{ $post['name'] }}</p>
60
+ </div>
61
+ <div class="user-card-name">
62
+ @if($user->profile_image)
63
+ <p><img src="{{ asset('storage/' . $user['profile_image']) }}" width="100" height="40" class="user-show-profile-img"></p>
64
+ @else
65
+ <p class="user-profile-no-img">No Image</p>
66
+ @endif
67
+ <div class="user-page-profile-name">
68
+ <p>{{ $post->user->name }}</p>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </a>
73
+ </div>
74
+ @endforeach
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ @else
20
81
  ```
21
82
 
22
83
  ### 試したこと