2016-04-15 6 views
-2

を行っていない:belongsToのは、私は機能を持つコントローラを持っている右の表に

public function show(Activity $linkActivity, $id) 
    { 
     $activity = $this->activityRepository->getById($id); 
     $project = $linkActivity::find($activity->project_id)->project; 
     $employee = $linkActivity::find($activity->employee_id)->employee; 
     //\Debugbar::info($manager); 

     return view('activity/show', compact('activity'))->with('project',$project)->with('employee',$employee); 
    } 

、ここでは私のモデルであるActivity.php:

public function employee() 
{ 
    return $this->belongsTo('App\Employee'); 
} 

問題は、それは見ていないということです右の表があり、従業員表の代わりに活動表が呼び出されています。 debugbarでは、私が行って、DBへの要求を参照してください。

select * from `activity` where `activity`.`id` = '2' limit 1 

とIDだけでなく、従業員から2である私はそれを求めてm個が、それは間違ったテーブルを検索します。 なぜですか?

+0

あなたのスキーマは混乱しています。あなたは 'linkActivity'とは何ですか?なぜ、あなたはすでに従業員IDを持っているときにその従業員を見つけるためにクエリを実行しなければなりませんか? –

答えて

0

Activity in Employee IDで行を検索していますか?私は正確に何をしたいか分からないが、あなたは従業員がなぜ単にこの

$employee = $activity->employee; 
0

をしないしたい場合、私はエラーが発見($アクティビティ - > PROJECT_ID)であると思います。

実際には、私は外部キーを保持しているレコードのIDを入れて、外部キー自体のIDは入れないでください。