2017-06-26 6 views
0

私はコントローラでこの機能を持っている:はLaravel外部キーテーブルを取得していない[ERROR]

/** 
    * 
    * Edit Registration 
    * 
    */ 
    public function edit(Registration $id) 
    { 
     $logs = Log::where('registration_id', $id->id)->users()->get(); 

     dd($logs); 
     return view('registrations_edit', ['registration' => $id, 'log' => $logs]); 
    } 

ドキュメントは、私がモデルにusers()を定義するとき、私は

Log::where('registration_id', $id->id)->users()->get(); 

を呼び出すことができますと言います。

public function users(){ 
    return $this->belongsTo('App\User', 'id', 'user_id'); 
} 

が、私はコントローラにusers()を呼び出すとき、私はいつも私が間違って何を未定義のメソッドを照らし\ Databaseへ

コール\クエリー\ビルダー::ユーザー()

をしていますか?

種類は、私はあなたがこれを試すことができると思い

+0

をUserの代わりにUser :: classを試してみてください:class –

+0

あなたが言ったように試しましたが、同じエラーが発生しました。 ドキュメントのようにApp \ Userに変更しました。しかし、まだ私のために働いたエラー –

答えて

0

について:

public function edit(Registration $id) 
    { 
     $logs = Log::with('users')->where('registration_id', $id->id)->get(); 

     dd($logs); 
     return view('registrations_edit', ['registration' => $id, 'log' => $logs]); 
    } 

・ホープ、この作品をあなた

+0

をありがとう!ありがとう! あなたはそれが(と)どういうことを教えてくれますか? ドキュメントでこの方法が見つかりません –

+0

@StarkToniこの[リンク](https://laravel.com/docs/5.0/eloquent)を確認してください これがあなたの解決策であれば私の回答を受け入れるように依頼します –

+0

okありがとう@AddWeb Solution Pvt Ltd –

0

のためのあなたの関係は正しい方法で記述する場合、この試してみてください。

$logs = Log::where('registration_id', $id->id)->users->get(); 
+0

これを試してみると 未定義のプロパティ:Illuminate \ Database \ Eloquent \ Builder :: $ users –