我有一个带功能的控制器:
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');
}
问题是它没有查看正确的表,而是调用活动表而不是employee表。在调试栏中,我看到对db db的请求是:
select * from `activity` where `activity`.`id` = '2' limit 1
而且id很好,我问的是员工的2,但它看起来错了。 那是为什么?
答案 0 :(得分:0)
您正在使用员工ID在“活动”中搜索一行?我不确定你到底想要什么,但如果你想要一个员工,为什么不这么做呢
$employee = $activity->employee;
答案 1 :(得分:0)
我认为错误发生在find($ activity-> project_id)中。
实际上在find中,我需要将记录的id保存为外键而不是外键的id。