【发布时间】:2022-01-11 20:46:52
【问题描述】:
很抱歉提出这个问题,但我似乎无法找到解决问题的方法。我有以下代码:
for($x=0; $x<=2; $x++){
$users = User::where('division', 1)
->where('has_been_assigned', null)
->first();
$assignedLead = NewLeads::where('pic_endorsed_to', null)
->first();
$assignedLead->pic_endorsed_to = $users->id;
$assignedLead->save();
}
所以在我的 MySQL NewLeads 表中,我希望实现这一点(将潜在客户分配给用户,然后将下一个潜在客户分配给下一个用户,依此类推):
id pic_endorsed_to (FKEY)
1 1
2 2
3 3
相反,我得到了这个:
id pic_endorsed_to (FKEY)
1 1
2 1
3 1
谁能告诉我如何达到预期的效果?
非常感谢!
【问题讨论】:
-
循环有什么用?在 $assignedLead 和 $users 查询中,您正在获取一条相同的记录?
-
您好,$assignedLead 获取 Leads(或者您可以说“Tasks”)集合,而 $users 访问 User 集合以获取要分配给“lead”或“task”的用户。
-
哦,你问的是循环的使用。我的目标是获取与设置的迭代次数一样多的一条记录。
-
您没有更新用户。所以在每次迭代中都有相同的用户。如果没有用户可以分配怎么办??
-
您好,我可以为此创建一个验证。但我仍在为用户分配线索/任务的过程中。但是正如你所看到的,我在分配一个又一个用户时遇到了麻烦,因为 for 循环只获取第一个用户的值,而不是接下来的两个。