2016-12-11 7 views
3

laravelと協力しています.URLからユーザー名を取得し、データベースに基づいて情報を取得する必要があります。これを達成する方法。誰かがここで私を助けることができますか?Laravel - URIからパラメータを取得し、そのパラメータに基づいてデータベース情報を受信します。

Route::get('/profile/{username}', '[email protected]'); 

コントローラでこれを呼び出す方法と、ビューで送信する方法と、ビュー内でものを呼び出す方法がわかりません。

public function show($username) 
{ 
    User::where('username', $username)->get(); 
    return view('profile/index', ['username' => $username]); 
} 

ビュー内の行から何かを表示するにはどうすればよいですか?

ありがとうございました!

答えて

1

そのユーザーのデータを表示するには、次のコードを試してみてください。

プロジェクト名/アプリ/ HTTP/routes.phpの

Route::get('/profile/{username}', '[email protected]'); 

プロジェクト名/アプリ/ HTTP /コントローラ/ ProfileController.php

public function show($username) 
{ 
    $user_data = User::where('username', $username)->first(); 
    return view('profile.index', ['username' => $username, 'user_data' => $user_data]); 
} 

プロジェクト名/リソース/ビュー/プロフィール/index.blade.php

<div class="container"> 
    <div class="row"> 
     <ul> 
      <li>Username: {{ $username }}</li> 
      <li>Name: {{ $user_data->name }}</li> 
     </ul> 
    </div> 
</div> 

注意:usernameは一意です。だから私はfirst()を使用しており、username,nameのフィールドがUser Modalに関連付けられています。

上記のコードは、Laravel 5.2でテストされ、動作しています。与えられた仮定を上回っている。

お手伝いします。

+0

それは、元の方法thoを考え出した、私はとにかく何が間違っていたのか分からなかった。 ! – Robinvm

1

controllersroutesについてお読みください。お使いのコントローラは次のようになります。

public function show($username) 
{ 
    User::where('name', $usename)->get(); 

ここ$username変数は、URIから{username}一部が含まれています。

+0

しかし、どうやってその行のものをページ自体に表示できますか?最初のアンサーに感謝します – Robinvm

+1

それは正解です。 あなたの他の質問については、このビデオを見て、本当にうまく説明し、あなたがノミネートで始めるでしょう。 https://laracasts.com/series/laravel-5-fundamentals – larsemil

+0

私はそれらのビデオに必要なものを見つける:( – Robinvm

関連する問題