我想提出一个员工请假申请,当员工提交请假申请时,他的老板将立即在电子邮件中收到通知
我在数据库中的表是这样的
id | name | email | person_in_charge |
1 Michael michael.com 2
2 Johan johan.com 4
3 Lorem lorem.com 2
4 Ipsum ipsum.com 5
5 Dolor dolor.com
我想,当用户ID 1发送电子邮件时,接收电子邮件的用户是用户ID 2、4和5,因为用户ID 2是用户ID 1的老板,而用户ID 4是老板。用户ID 2的用户,而用户ID 5的所有人都是老板。
我一直在使用while循环,但是结果是收到电子邮件的是用户ID 4和5,用户ID 2却没有得到电子邮件
这是代码
$currentuserid = '1';
$show= Users::where('id',$currentuserid)->first();
if($show->pic_for!=null)
{
$pic_for = $tampil->pic_for;
while($pic_for!=null)
{
$query = Users::where('id',$pic_for)->first();
if($query->pic_for==null)
{
break;
}else
{
$pic[]=$query->pic_for;
$pic_for = $query->pic_for;
}
}
dd($pic);
你知道我想念哪里吗?
谢谢
答案 0 :(得分:1)
进入循环时,您只是不保存第一个参考。第一个$pic_for
永远不会添加到数组$pic
中。
EDIT / BTW:该代码基本上可以通过该循环对您自己的数据库进行DDoS。只是一个想法,而不是遍历单个实例,您可以在它们之间创建一个HABTM关系。因此,您可以像$user->usersInCharge()
那样查询并遍历此集合。