嗨,我有员工表,我想随机分配到不同的部门 让我们假设员工表结构如下
id staffname
1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
9 I
任何想法?如何随机选择员工并将他们分配到多个组,以便没有员工在部门中重复,例如
部门1
id staffname
3 C
5 E
6 F
9 I
部门2
id staffname
1 A
4 D
7 G
部门3
id staffname
1 A
2 B
8 H
我想在Laravel / Mysql
中这样做答案 0 :(得分:0)
您可以使用随机和diff的方法。 考虑到您将搜索所有Staff实体,请尝试以下方法:
$staff = Staff::all();
$i = 0;
while($staff->count() > 0) {
$random = $staff->random(3);
foreach($random as $s) {
$s->departament_id = $i;
}
$staff = $staff->diff($random);
$i++;
}
当然,您需要在保存之前检查departament_id,或者甚至在方法中创建一个,但这就是想法。
我希望它有所帮助...