質問編集履歴
1
対象のコントローラーの誤りを修正と、違うエラーの発生についての編集
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
【Laravel】退会していないのに「このユーザーは退会しました」と出てしまう
|
1
|
+
【Laravel】退会していないのに「このユーザーは退会しました」と出てしまう、投稿ページにアクセスできない
|
test
CHANGED
@@ -4,46 +4,248 @@
|
|
4
4
|
|
5
5
|
---
|
6
6
|
|
7
|
-
**UsersController**
|
7
|
+
~~**UsersController@show**~~
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
~~public function show($id)~~
|
12
|
+
|
13
|
+
~~{~~
|
14
|
+
|
15
|
+
~~$user = User::find($id);~~
|
16
|
+
|
17
|
+
~~$lectures = $user->lectures()->orderBy('created_at', 'desc')->paginate(4);~~
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
~~$data = [~~
|
22
|
+
|
23
|
+
~~'user' => $user,~~
|
24
|
+
|
25
|
+
~~'lectures' => $lectures,~~
|
26
|
+
|
27
|
+
~~]; return view('users.show', $data);~~
|
28
|
+
|
29
|
+
~~}~~
|
30
|
+
|
31
|
+
当初、上記のUsersControllerを載せていましたが、今回の対象はLecturesControllerでした、申し訳ありません。
|
32
|
+
|
33
|
+
---
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
**LecturesController@show**
|
8
38
|
|
9
39
|
```PHP
|
10
40
|
|
11
|
-
public function show($id)
|
41
|
+
public function show($id) {
|
12
|
-
|
42
|
+
|
43
|
+
|
44
|
+
|
13
|
-
|
45
|
+
$lecture = Lecture::find($id);
|
14
46
|
|
15
47
|
$user = User::find($id);
|
16
48
|
|
49
|
+
|
50
|
+
|
51
|
+
return view('lectures.show', [
|
52
|
+
|
53
|
+
'lecture' => $lecture,
|
54
|
+
|
55
|
+
'user' => $user,
|
56
|
+
|
57
|
+
]);
|
58
|
+
|
59
|
+
}
|
60
|
+
|
61
|
+
```
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
**lectures/show.blade.php**
|
66
|
+
|
67
|
+
```HTML
|
68
|
+
|
69
|
+
@extends('layouts.app')
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
@section('content')
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
<div class="container">
|
78
|
+
|
79
|
+
<div class="head">レクチャー詳細</div>
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
<div class="row ml-3 mt-5 pt-4">
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
<div class="col-9 mx-auto">
|
88
|
+
|
89
|
+
<article class="cont_inner">
|
90
|
+
|
91
|
+
@if ($lecture)
|
92
|
+
|
93
|
+
@if ($lecture->image)
|
94
|
+
|
95
|
+
<figure class="show_post_thumbnail"><div class="new_area-img text-center"><img class="show_image" src="{{ asset('storage/'.$lecture->image) }}"></div></figure>
|
96
|
+
|
97
|
+
@else
|
98
|
+
|
99
|
+
<figure class="show_post_thumbnail"><div class="new_area-img text-center"><img src="../img/noimage.gif"></div></figure>
|
100
|
+
|
101
|
+
@endif
|
102
|
+
|
103
|
+
<section class="post_meta-all multiline line-8">
|
104
|
+
|
105
|
+
<div class="pick_title mb-2">{{ $lecture->title }}</div>
|
106
|
+
|
107
|
+
<time>{{ $lecture->updated_at }}</time>
|
108
|
+
|
109
|
+
<div>
|
110
|
+
|
111
|
+
@if ($lecture->category_name == 'ピッチング')
|
112
|
+
|
113
|
+
<span class="tag-pitching">{{ $lecture->category_name }}</span>
|
114
|
+
|
115
|
+
@elseif ($lecture->category_name == 'バッティング')
|
116
|
+
|
117
|
+
<span class="tag-batting">{{ $lecture->category_name }}</span>
|
118
|
+
|
119
|
+
@elseif ($lecture->category_name == '守備')
|
120
|
+
|
121
|
+
<span class="tag-fielding">{{ $lecture->category_name }}</span>
|
122
|
+
|
123
|
+
@elseif ($lecture->category_name == '走塁')
|
124
|
+
|
125
|
+
<span class="tag-running">{{ $lecture->category_name }}</span>
|
126
|
+
|
127
|
+
@elseif ($lecture->category_name == 'メンタル')
|
128
|
+
|
129
|
+
<span class="tag-mental">{{ $lecture->category_name }}</span>
|
130
|
+
|
131
|
+
@elseif ($lecture->category_name == 'その他')
|
132
|
+
|
133
|
+
<span class="tag-other">{{ $lecture->category_name }}</span>
|
134
|
+
|
135
|
+
@endif
|
136
|
+
|
137
|
+
@if ($user === null)
|
138
|
+
|
139
|
+
<span class="d-inline-block ml-2 small text-info">投稿者:このユーザーは退会しました</span></div>
|
140
|
+
|
141
|
+
@else
|
142
|
+
|
143
|
+
<span class="d-inline-block ml-2 small text-info">投稿者:<a href="{{ route('users.show', ['id' => $user->id]) }}">{{ $user->name }}</a></span></div>
|
144
|
+
|
145
|
+
@endif
|
146
|
+
|
147
|
+
<div class="mt-3 mb-5">{{ $lecture->content }}</div>
|
148
|
+
|
149
|
+
</section>
|
150
|
+
|
151
|
+
@endif
|
152
|
+
|
153
|
+
</article>
|
154
|
+
|
155
|
+
@if (Auth::id() === $lecture->user_id)
|
156
|
+
|
157
|
+
<div class="text-center mt-4">
|
158
|
+
|
159
|
+
{!! Form::open(['route' => ['lectures.destroy', $lecture->id], 'method' => 'delete']) !!}
|
160
|
+
|
161
|
+
{!! Form::submit('削除する', ['class' => 'btn btn-danger btn-sm del_check']) !!}
|
162
|
+
|
163
|
+
{!! Form::close() !!}
|
164
|
+
|
165
|
+
</div>
|
166
|
+
|
167
|
+
@endif
|
168
|
+
|
169
|
+
</div>
|
170
|
+
|
171
|
+
@endsection
|
172
|
+
|
173
|
+
```
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
それと、「投稿する」のページにアクセスすると、エラーが出るようになりました。
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
![イメージ説明](bba576f190aecfde21f09f1f03985668.gif)
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
「このユーザーは退会しました」と出るものを修正しようと試みる前は問題なくアクセスできていたので、何かの拍子にそうなってしまったのかと思うのですが、ルーティングやコントローラーのcreate部分は特に触っていないですし、一応確認してみても、個人的には何らおかしいところは見受けられませんでした。
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
---
|
192
|
+
|
193
|
+
**web.php**
|
194
|
+
|
195
|
+
```PHP
|
196
|
+
|
197
|
+
// ユーザ機能
|
198
|
+
|
199
|
+
Route::group(['middleware' => ['auth']], function () {
|
200
|
+
|
17
|
-
|
201
|
+
Route::resource('users', 'UsersController', ['only' => ['show']]);
|
202
|
+
|
203
|
+
Route::get('lectures/create', 'LecturesController@create')->name('lectures.create');
|
204
|
+
|
205
|
+
Route::post('lectures', 'LecturesController@store')->name('lectures.store');
|
206
|
+
|
207
|
+
Route::delete('lectures/{id}', 'LecturesController@destroy')->name('lectures.destroy');
|
208
|
+
|
209
|
+
Route::delete('users/{id}', 'UsersController@destroy')->name('users.destroy');
|
210
|
+
|
211
|
+
});
|
212
|
+
|
213
|
+
```
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
---
|
218
|
+
|
219
|
+
**LecturesController@create**
|
220
|
+
|
221
|
+
```PHP
|
222
|
+
|
223
|
+
public function create() {
|
18
224
|
|
19
225
|
|
20
226
|
|
21
|
-
$data = [
|
22
|
-
|
23
|
-
|
227
|
+
$lecture = new Lecture;
|
228
|
+
|
229
|
+
|
230
|
+
|
24
|
-
|
231
|
+
return view('lectures.create', [
|
232
|
+
|
25
|
-
'lecture
|
233
|
+
'lecture' => $lecture,
|
26
|
-
|
234
|
+
|
27
|
-
]
|
235
|
+
]);
|
28
236
|
|
29
237
|
}
|
30
238
|
|
31
239
|
```
|
32
240
|
|
241
|
+
|
242
|
+
|
33
|
-
---
|
243
|
+
---
|
244
|
+
|
34
|
-
|
245
|
+
また、エラー内容を訳すと「非オブジェクトのプロパティ「user_id」を取得しようとしています」とのことで、tinkerにてあらためてLectureデータのカラムを確認しても、「user_id」は存在しています。
|
246
|
+
|
247
|
+
![イメージ説明](34576aabe3e51611ffdbf7f0e1f98495.png)
|
248
|
+
|
249
|
+
|
250
|
+
|
35
|
-
|
251
|
+
いろいろとすみません、よろしくお願いいたしますm(_ _)m
|
36
|
-
|
37
|
-
```HTML
|
38
|
-
|
39
|
-
@if ($user === null)
|
40
|
-
|
41
|
-
<span class="d-inline-block ml-2 small text-info">投稿者:このユーザーは退会しました</span></div>
|
42
|
-
|
43
|
-
@else
|
44
|
-
|
45
|
-
<span class="d-inline-block ml-2 small text-info">投稿者:<a href="{{ route('users.show', ['id' => $user->id]) }}">{{ $user->name }}</a></span></div>
|
46
|
-
|
47
|
-
@endif
|
48
|
-
|
49
|
-
```
|