У меня есть код, в котором, что происходит, когда пользователь обновляет свой аккаунт, его спонсор получает очки ранга.Это код:
function updateDepositBV($id, $deposit_amount)
{
while($id !="" || $id != "0") {
if(isMemberExists($id))
{
$posid = getParentId($id);
if($posid == "0")
break;
$position = getPositionParent($id);
$currentBV = MemberExtra::where('user_id', $posid)->first();
if($position == "L"){
$new_lbv = $currentBV->left_bv + $deposit_amount ;
$new_rbv = $currentBV->right_bv;
}else{
$new_lbv = $currentBV->left_bv;
$new_rbv = $currentBV->right_bv + $deposit_amount ;
}
MemberExtra::where('user_id', $posid)
->update([
'left_bv' => $new_lbv,
'right_bv' => $new_rbv,
]);
$id = $posid;
} else {
break;
}
}//while
return 0;
}
И что мне нужно сделать с этим кодом, так это ограничить пользователя в получении бонуса, пока он не зарегистрирует двух человек, спонсируемых им с обеих сторон (левый двоичный и правый двоичный),Я пробовал этот код, но он не работает: пожалуйста, посмотрите и дайте мне знать, где я не прав.Я новичок в laravel и PHP.
function updateDepositBV($id, $deposit_amount)
{
while($id !="" || $id != "0") {
if(isMemberExists($id))
{
$posid = getParentId($id);
if($posid == "0")
break;
$position = getPositionParent($id);
$currentBV = MemberExtra::where('user_id', $posid)->first();
$totalL = $position["L"]->count();
if($position == "L"){
if($position["L"]->count > 1){
$new_lbv = $currentBV->left_bv + $deposit_amount ;
$new_rbv = $currentBV->right_bv;
}else{
$new_lbv = $currentBV->left_bv;
$new_rbv = $currentBV->right_bv + $deposit_amount ;
}
}
MemberExtra::where('user_id', $posid)
->update([
'left_bv' => $new_lbv,
'right_bv' => $new_rbv,
]);
$id = $posid;
} else {
break;
}
}//while
return 0;
}
В последнем коде я попытался подсчитать строки левого и правого пользователей, которые спонсируются пользователем, и создать условие:
if(Left Binary sponsered users rows count >= 2 ){action for true condition}
elseif(Right Binary sponsered users rows count >= 2){action for true condition}
может кто-нибудь подсказать мне это?извините за мой плохой английский.