在工作网站上,我正在准备一张有关用户,候选人技能和技能的表格。用户具有许多候选人技能。每个候选人技能既属于用户,也属于技能。
该candidate_skills表有这些列:
id
user_id
skill_id
years_xp
comfort_level
created_at
updated_at
该技能表有一个
id
name
...
每个用户都可以从技能表中选择一项技能。该记录被添加为候选人技能。
我正在绘制一个用户列表,我想呈现每个候选人具有的技能。在我的用户模型上,我有一种获取用户的候选人技能的方法:
public function skills()
{
return $this->hasMany('App\CandidateSkill');
}
如何用技能表中的技能名称填充此列表?
现在,我正在获取如下结果:
$candidates = User::whereIn('department_id', $departmentFilters)
->whereIn('work_authorization', $workAuthFilters)
->orderBy('updated_at', 'desc')
->with('skills')
->get();
return response()->json($candidates);
这会加载候选技能列表,但不包括该技能的可读名称。上面查询的结果$candidate->skill如下:
{ "id": 22, "user_id": 43, "skill_id": 64, "years_xp": 2, "comfort_level": null, "created_at": "2019-04-15 18:51:14", "updated_at": "2019-04-15 18:51:14" }
为用户渲染候选人技能时,如何包含技能名称?
例如,id为64的技能的名称为“ PHP”。当显示用户43时,我想用“ PHP”而不是64列出他们的技能。
慕标琳琳