Mysql laravel 5为具有相同外键id的字段添加唯一约束
我有一个包含姓名和id的employee表,还有一个包含employee\u id和日期的employee\u off\u date表。我想为员工id的日期添加一个唯一约束。例如,如果员工id 1的日期为2016年3月30日,则另一个员工id 1的日期不能为2016年3月30日,但员工id 2的日期可以为2016年3月30日。在Laravel5或mysql中,我是否可以这样做?或者我应该手动编写这个逻辑 您可以在表上添加一个唯一的约束,该约束将限制id和日期重复组合的插入,例如:Mysql laravel 5为具有相同外键id的字段添加唯一约束,mysql,laravel-5,Mysql,Laravel 5,我有一个包含姓名和id的employee表,还有一个包含employee\u id和日期的employee\u off\u date表。我想为员工id的日期添加一个唯一约束。例如,如果员工id 1的日期为2016年3月30日,则另一个员工id 1的日期不能为2016年3月30日,但员工id 2的日期可以为2016年3月30日。在Laravel5或mysql中,我是否可以这样做?或者我应该手动编写这个逻辑 您可以在表上添加一个唯一的约束,该约束将限制id和日期重复组合的插入,例如: ALTER T
ALTER TABLE employee_off ADD CONSTRAINT ux_employee_off
UNIQUE (employee_id, date)
您可以将表设置为具有唯一的复合键。如果您想通过迁移实现这一点,可以执行以下操作:
Schema::table('employee_off_date', function($table) {
$table->unique(['employee_id', 'date']);
});