Php Laravel控制器:“for”循环仅获取第一次迭代的值
很抱歉问这个问题,但我似乎找不到解决问题的办法。我的代码如下:Php Laravel控制器:“for”循环仅获取第一次迭代的值,php,laravel,Php,Laravel,很抱歉问这个问题,但我似乎找不到解决问题的办法。我的代码如下: for($x=0; $x<=2; $x++){ $users = User::where('division', 1) ->where('has_been_assigned', null) ->first(); $assignedLead = NewLeads::where('pic_endorsed_to', nul
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();
}
相反,我得到的是:
id pic_endorsed_to (FKEY)
1 1
2 1
3 1
有人能告诉我如何达到预期的结果吗
多谢各位 您正在跑步->第一;每次where子句都没有任何动态条件,因此它将一次又一次地只获取第一条记录。您正在运行->first;每次where子句上没有任何动态条件,因此它将一次又一次地只获取第一条记录。这是因为您没有在循环中的任何位置使用$x使其成为动态的。
可以根据需要在某处使用$x条件,也可以先删除它。因为您没有在循环中的任何位置使用$x使其成为动态的。
按照要求在某处使用$x,或者先删除。为了简单起见,请使用OP在我撰写本文时提供的代码:
$users = User::where('division', 1)
->where('has_been_assigned', null)
->get();
foreach ($users as $user){
$assignedLead = NewLeads::where('pic_endorsed_to', null)
->first();
if(assignedLead){
$assignedLead->pic_endorsed_to = $users->id;
$assignedLead->save();
}else{ break; }
}
我在这里所做的只是获取用户并将这些用户的id分配给值为null的NewLeads
在每个循环中,它将获取pic_背书为null的第一行,并将值更新为用户id。为简单起见,请使用我编写时OP提供的代码:
$users = User::where('division', 1)
->where('has_been_assigned', null)
->get();
foreach ($users as $user){
$assignedLead = NewLeads::where('pic_endorsed_to', null)
->first();
if(assignedLead){
$assignedLead->pic_endorsed_to = $users->id;
$assignedLead->save();
}else{ break; }
}
我在这里所做的只是获取用户并将这些用户的id分配给值为null的NewLeads
在每个循环中,它将获取pic_背书_为null的第一行,并将值更新为用户id。首先更改->第一个到->获取
然后检查此行,并使用下面给出的代码进行更改:
where('pic_endorsed_to', null)
->first();
应该是
where('pic_endorsed_to', $mydetail)
->get();
首先,更改->首先更改->获取
然后检查此行,并使用下面给出的代码进行更改:
where('pic_endorsed_to', null)
->first();
应该是
where('pic_endorsed_to', $mydetail)
->get();
谢谢你的意见。扎希德的评论似乎解决了我目前的问题:
您没有更新用户。因此,在每次迭代中都有相同的用户。如果没有可分配给的用户呢扎希德·哈桑·埃蒙 只需使用assigned标记/更新用户的状态
谢谢大家! 感谢您的投入。扎希德的评论似乎解决了我目前的问题:
您没有更新用户。因此,在每次迭代中都有相同的用户。如果没有可分配给的用户呢扎希德·哈桑·埃蒙 只需使用assigned标记/更新用户的状态
谢谢大家! 循环的用途是什么?在$assignedLead和$users查询中,您正在获取一条相同的记录?您好,$assignedLead获取lead,或者您可以说是Tasks collection,而$users访问User collection以获取要分配给lead或task的用户。哦,您问的是loop的用法。我的目标是一个接一个地获取与设置的迭代次数相同的记录。您不是在更新用户。因此,在每次迭代中都有相同的用户。如果没有用户分配给??你好,我可以为它创建一个验证。但我仍在为用户分配潜在客户/任务的过程中。但正如您所看到的,我很难分配一个又一个用户,因为for循环只获取第一个用户的值,而不获取下两个用户的值?在$assignedLead和$users查询中,您正在获取一条相同的记录?您好,$assignedLead获取lead,或者您可以说是Tasks collection,而$users访问User collection以获取要分配给lead或task的用户。哦,您问的是loop的用法。我的目标是一个接一个地获取与设置的迭代次数相同的记录。您不是在更新用户。因此,在每次迭代中都有相同的用户。如果没有用户分配给??你好,我可以为它创建一个验证。但我仍在为用户分配潜在客户/任务的过程中。但是正如您所看到的,我很难分配一个又一个用户,因为for循环只获取第一个用户的值,而不获取下两个用户的值。