2017-07-04 6 views
0

hasManyおよびBelongToの関係でモデルUserとDiaresを設定しました。私は、特定のユーザーに関連付けられたDiariesテーブルからデータを取得しようとしています。私は正当な試みをしたが、それは私のために仕事をしなかった。どうすればそれを達成し、それをブレードビューで表示することもできます。ここに私の現在のコードは次のとおりです。Laravel 5.4を使用してユーザーIDに基づいてデータを取得する方法

public function index(User $id) 
    { 
     $user = User::find($id); 
    $record = $user->diary; 


     return view('home')->with('record', $record); 

    } 

ブレードは、ファイルそれが表示されるはずです:$ idは整数ではありません、あなたのインデックス機能では

@foreach ($record as $diary) 
    {{ $diary->error }} 
     {{ $diary->fix }} 
@endforeach 
+0

print_r($ user)は何を表しますか? – Exprator

+0

、php artisan tinker、またはこれを入力する場所 – Vanessa

+0

** find ** https://laravel.com/docs/5.4/eloquent#retrieving-single-models –

答えて

1

- これは、Userインスタンスであるので、あなたが使用することを試すことができますこれは:

public function index(User $user) 
{ 
    $record = $user->diary; 

    return view('home')->with('record', $record); 

} 
+0

の対応する行を取得し、あなたのルートで/ index/{user} –

+0

@Denis Gorgulに経路を変更する必要があります。エラーは発生しませんが、レコードも表示されません。よくわかりません。はい、私はちょうどルートが変わることについてのコメントを見ました。 – Vanessa

+0

私はNotFound HTTP例外を取得します。私のルートはRoute :: get( '/ home {user}'、 'HomeController @ index') - > name( 'home')のようなものです。 – Vanessa

関連する問題