在多对多关系中附加和分离

  • 本文关键字:分离 关系 php laravel
  • 更新时间 :
  • 英文 :


我有一个EmployeeSkill模型,表是employee_skills,列是idemployee_idskill_id

创建用户时,我可以分配多个技能,并且我希望为employee_skills表中的特定用户id分配所有技能id。

我有EmployeesSkill型号。

在两个实体之间的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时,你只需要attachsync:

$employee->skills()->sync({...you skills id...})
// -----
$employee->skills()->attach({...you skills id...})

最新更新