我有一个EmployeeSkill
模型,表是employee_skills
,列是id
、employee_id
、skill_id
创建用户时,我可以分配多个技能,并且我希望为employee_skills
表中的特定用户id分配所有技能id。
我有Employees
和Skill
型号。
在两个实体之间的many to many
关系中,我们有两个模型和第三个表。有关更多解释,请参阅本文和laravel文档。
你不需要EmployeeSkill
模型,删除它,根据laravel的建议,第三个表名最好是单数,按字母顺序排列,如下所示:employee_skill
。
员工模型关系:
public function skills()
{
return $this->belongsToMany(Skill::class);
}
Skil模型关系:
public function employees()
{
return $this->belongsToMany(Employee::class);
}
现在,当你想为特定员工分配所有技能id时,你只需要attach
或sync
:
$employee->skills()->sync({...you skills id...})
// -----
$employee->skills()->attach({...you skills id...})