我有一个员工表,其中包含姓名和ID,我有一个employee_off_date表,其中包含employee_id和date。我想为员工ID的日期添加一个唯一约束。例如,如果employee_id 1的日期为2016年3月30日,则另一个employee_id 1的日期不能与2016年3月30日相同,但employee_id 2的日期可以是2016年3月30日。无论如何我可以在laravel 5或mysql中执行此操作吗?或者我应该手动编写这个逻辑?
答案 0 :(得分:0)
您可以在表格上添加唯一约束,这将限制插入重复的ID和日期组合,例如:
ALTER TABLE employee_off ADD CONSTRAINT ux_employee_off
UNIQUE (employee_id, date)
答案 1 :(得分:0)
您可以将表设置为具有唯一的复合键。如果您想通过迁移执行此操作,可以执行以下操作:
Schema::table('employee_off_date', function($table) {
$table->unique(['employee_id', 'date']);
});