【发布时间】:2019-12-04 20:59:19
【问题描述】:
嗨,我有这 4 张桌子
员工: 员工ID, 员工姓名, 员工电子邮件, 员工密码
部门: 部门编号, 部门名称
职位: 位置标识, 位置类型
employee_deployment: 员工部署ID, 员工ID, 部门编号, 职位ID
我为数据透视表 employee_deployment 创建了迁移
public function up()
{
// Set schema to create field of table
Schema::create('employee_deployment', function (Blueprint $table) {
$table->bigIncrements('EmployeeDeploymentID');
$table->bigInteger('EmployeeID')->unsigned();
$table->bigInteger('DepartmentID')->unsigned();
$table->bigInteger('PositionID')->unsigned();
});
Schema::table('employee_deployment', function ($table) {
$table->foreign('EmployeeID')->references('EmployeeID')->on('tbl_employees')->onDelete('cascade');
$table->foreign('DepartmentID')->references('DepartmentID')->on('tbl_departments')->onDelete('cascade');
$table->foreign('PositionID')->references('PositionID')->on('positions')->onDelete('cascade');
});
}
有人可以帮我为每个模型建立关系吗?并将数据保存到数据透视表(employee_deployment 表)中。
【问题讨论】:
-
这种关系在没有自定义逻辑的 Laravel 中是不可用的;一旦超过 2 个相关的表/模型,它就不再是标准的
many-to-many,并且该表作为“数据透视”表并不是真正有效的。 Stackoverflow 的概念有点宽泛,需要您进行一些研究/尝试才能找到明确的问题/解决方案。
标签: laravel eloquent-relationship