2017-02-26 5 views
0

私はLaravelにとってちょっと新しく、その方法(依存関係)を最大限に引き出そうと努めていますが、(SEOのために)良いURL構造を保つことを目指しています。ここで(laravel)id以外のフィールドを渡してメソッド注入を使用することはできますか?

はケースだ:私はそれに追加の変数でルートを呼んでいる は終わりだ、次のように: は

をwww.mywebsite.com/user/idそして、それは同様の方法でコントローラに宛てていますso:

public function listUsers(User $user){ 
    dd($user); 
} 

これはうまくいきました。私がwww.mywebsite.com/user/3に行くと、Laravelはid = 3のユーザを自動的に取得します

しかし、より良いSEOを得るために、私は次のようにそのURLを変更する必要があります: www.mywebsite.com/users/nickname。

私は現在使用しているのと同様の方法でメソッド注入を使用できますが、id以外の別のフィールド(この場合はニックネーム)を使用して、データベースからUserオブジェクトを取得できますか?

これが可能なら、どうすればいいですか?

私は手動で行うこともできますが、私はLaravelを最大限に活用したいと考えています。

私は英語を勉強していますので、ネイティブの英語のスピーカーまたはそれに堪能であれば、文法上の間違いを指摘していただければ幸いです(簡単には投稿を歪ませることなく)。あなたはUser雄弁モデルで次のメソッドを定義する必要があり、この場合にはブルーノ・

答えて

4

public function getRouteKeyName() 
{ 
    return 'nickname'; 
} 

あなたはRoute Model bindingドキュメントでそれについての詳細を読むことができます。

+0

完璧!ありがとう! –

関連する問題