我创建了一个if语句“if($ user_roles == 3)”并且这个$ user_roles的值为“3”,条件应为true但结果始终为false。
这是我的代码:
Unfold Toplevel Nodes
答案 0 :(得分:3)
答案 1 :(得分:1)
$user_roles
是一个数组。所以你的if语句总是错误的。
答案 2 :(得分:0)
我想,试试这个。
foreach ($user_id as $id) {
array_push($user_roles, array('role' => $id->role));
}/*
dd($user_roles);*/
foreach ($user_roles as $user_role) {
if ($user_role['role'] == 3) {
$orga = Organization::where('orga_id','=',$sponsor_id)->get();
dd($orga);
return view('pages.Ngo.View-Sponsor-Information',compact('orga'));
}else{
$indi = Individual::where('indi_id','=',$sponsor_id)->get();
dd($indi);
return view('pages.Ngo.View-Sponsor-Information',compact('indi'));
}
}
或
foreach ($user_id as $id) {
array_push($user_roles, array('role' => $id->role));
}/*
dd($user_roles);*/
foreach ($user_roles as $user_role) {
if ($user_role->role == 3) {
$orga = Organization::where('orga_id','=',$sponsor_id)->get();
dd($orga);
return view('pages.Ngo.View-Sponsor-Information',compact('orga'));
}else{
$indi = Individual::where('indi_id','=',$sponsor_id)->get();
dd($indi);
return view('pages.Ngo.View-Sponsor-Information',compact('indi'));
}
}
在尝试过这个之后请说些什么。
答案 3 :(得分:0)
根据您显示的功能判断ViewSponsorInfo()的名称只对检测此用户是否具有唯一的角色' 3'在您的数据库中。
我的意思是结果是二元不是吗?要么它们是3,要么它们不是,不需要通过结果循环。
$user_id = User::where('id','=',$id)->get();
if($user_id[0] !== 3 ) { //***
doSponsorLink();
}else{
doNonSponsorLink();
}
我不熟悉Laravel或您正在使用的数据库层,所以也许只是if($user_id)
。
未经测试,在这里我假设用户只能拥有1个单一角色,而我们似乎没有为数据库中不存在的用户提供补贴。