質問編集履歴

1

アドバイスを受けて編集しました。

2016/12/19 00:37

投稿

spellbound
spellbound

スコア190

test CHANGED
@@ -1 +1 @@
1
- Laravel 5.2 ユーザーページのURLをusernameにするためにはどうすれば良いでしょうか?
1
+ Laravel 5.2 Usernameをドメイン名の直後入れたユーザーページを作成するにはどうすれば良いでしょうか?(例:https://exsample.com/username)
test CHANGED
@@ -1,17 +1,51 @@
1
- # https://domain.com/david_smith
1
+ # https://exsample.com/username
2
2
 
3
- 上記通り、URL内にusernameを使用するにはどうすれば良いでしょうか?
3
+ ドメイン名直後ユーザが登録したusernameを表示するにはどうすれば良いでしょうか?具体的な例を出すと、TwitterのユーザページのURLのような仕組みです。(https://twitter.com/davit_smith)
4
4
 
5
5
 
6
6
 
7
7
  # 試したこと
8
8
 
9
- 現在、ユーザーページは完成しています。しかし、routes.phpで```Route::resource('users', 'UsersController', ['only' => 'show']);``` と記述しており、Laravelが指定するパスしか使えません。そこで、resourceを使わずに、getを使用してルーティング記述しましたが、bad exception等々のエラーが発生します。そのエラーを直そうとすると、解決策の多くが、resourceを使えとのことでした。
9
+
10
+
11
+ ```php
12
+
13
+ Route::resource('users', 'UsersController', ['only' => 'show']);
14
+
15
+ ```
16
+
17
+ 今までは上記の書き方でルーティング記述を行なっていました。
18
+
19
+ この書き方で開発すると、ユーザページのURLは「https://exsample.com/users/1」となります。
10
20
 
11
21
 
12
22
 
13
- 通常はどよう上記のようにするのでょうか?
23
+ そこで、下記ルーティング記述変えみまた。
14
24
 
15
- Laravelでは実装できない機能なのでしょうか?
25
+ ```php
16
26
 
27
+ Route::get('{username}', 'UsersController@show');
28
+
29
+ ```
30
+
31
+
32
+
33
+ しかし、下記のエラーが発生しました。
34
+
35
+
36
+
37
+ ```php
38
+
39
+ BadMethodCallException
40
+
41
+ ```
42
+
43
+
44
+
45
+ そして、このエラーを直すためにググった結果、「ルーティング記述は、resourceを使うべき」という意見が多かったです。もしかしたら、Laravelでは実装できない機能なのではないのかと思ってしまいました。
46
+
47
+
48
+
49
+ 実際、開発可能なことなのでしょうか?
50
+
17
- ご回答お願い致します。
51
+ 宜しくお願い致します。