Я здесь, чтобы получить некоторую помощь от вас.
Я делаю Unilevel MLM, используя Codeigniter
и теперь я могу успешно добавить нового члена
Но проблема в том, что мне нужно распределить заработок на другой уровень
после успешного добавления нового участника
Смотрите картинку ниже:
Мне нужно распространять как на картинке выше.
Я надеюсь, что вы можете помочь мне с этим, ребята.
Хорошо, у меня есть решение для вас. Процесс, который я использовал, основан на моем понимании вопроса.
Итак, вот и все, сначала я проверил регистрационную запись, если был сделан запрос на публикацию, я использую реферальный идентификатор из поста, чтобы получить количество регистраций, привязанных к тому реферальному идентификатору, который не был присвоен, получив 100 баллов. Если счетчик результата этого запроса равен 4, я перебираю все из них и даю им 100 баллов и обновляю их оплаченный статус, чтобы отразить, что они были оплачены, тогда я вставляю запись, иначе я просто вставляю запись.
Слишком много текста, давайте посмотрим код
//this is the controller code
//first check for post of registration
if($_POST){
//kindly do your form validation here
$register = array(
"name" => $this->input->post('name'),
"refid" => $this->input->post('refID')
);
//during post, get the referral id from the post
$refID = $this->input->post('refID');
//before registering, use referral id to get the referred that have not been given earnings yet
$thereffered = $this->referral_m->getReferred($refID);
//check for the number of registration
if(count($thereffered) == 4){
//then get their ids and give them their earnings and update them to paid
foreach($thereffered as $referred){
$earnings = array(
"userID" => $referred->id,
"amount" => 100
);
$paid = array(
"paid" => 1
);
//give earning
$this->referral_m->giveEarning($earnings); //this adds the user id to earning table and give it an amount of 100
$this->referral_m->updateUser($paid, $referred->id); //this updates the user with the paid status
}
//then proceed to register the new record
$this->referral_m->register($register);
}else{
//register the new record
$this->referral_m->register($register);
}
//redirect after registration
redirect();
}else{
//load view here
}
Так выглядит модель
function getReferred($refID){
return $this->db->get_where('referral', array("refid" => $refID, "paid" => '0'))->result();
}
function giveEarning($record){
$this->db->insert('earnings', $record);
}
function register($array){
$this->db->insert('referral', $array);
}
function updateUser($array, $id){
$this->db->where('id', $id);
$this->db->update('referral', $array);
}
Из модели вы обнаружите, что я создал 2 таблицы базы данных, я полагаю, у вас уже есть эти таблицы, просто используйте логику для обновления вашего кода. Если вы обнаружите какие-либо трудности, пожалуйста, оставьте комментарий
Других решений пока нет …