Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql laravel 5为具有相同外键id的字段添加唯一约束_Mysql_Laravel 5 - Fatal编程技术网

Mysql laravel 5为具有相同外键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

我有一个包含姓名和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 TABLE employee_off ADD CONSTRAINT ux_employee_off 
UNIQUE (employee_id, date)

您可以将表设置为具有唯一的复合键。如果您想通过迁移实现这一点,可以执行以下操作:

Schema::table('employee_off_date', function($table) {
    $table->unique(['employee_id', 'date']);
});