получить столбец с тем же значением в базе данных, используя codeigniter - PullRequest
0 голосов
/ 07 октября 2019

Сначала мои ресурсы

enter image description here

Как вы можете видеть в моей базе данных, у меня есть Referal_Code и Referral_Link

Теперь я пытаюсь получить все те Referral_Link, которые имеют то же значение на Referal_Code

Я знаю, что я не рядом с тем, что я пытаюсь сделать, ноЯ стараюсь изо всех сил, чтобы сделать это. Вот что я попробовал до сих пор

На моем model

public function get_same_referral_code()
{
   $this->db->select('referal_code');
   $this->db->where('referal_code', 'PoVsw0Epne');
   $query = $this->db->get('investor');
   if ($query->num_rows() > 0) {
       foreach ($query->result() as $row) {
            $data[] = $row;
       }
       return $data;
    }
}

и на моем controller

public function get_all()
{
    $data = array();
    $data['title'] = "Rewards";
    $data["data"] = $this->investor->get_all_investor();
    $data["get_all_flevel"] = $this->investor->get_all_first_level();
    $data["referrals"] = $this->investor->get_same_referral_code();
    $this->template->load('default_layout','contents','rewards',$data);
}

, и я звоню на моем view вот так

<?php 

    echo ($referrals[0][id]);
    echo ($referrals[0][firstname]);
    echo ($referrals[0][referal_code]);
    echo ($referrals[0][referral_link]);

?>

Каким должен быть мой ожидаемый результат

enter image description here

Может ли кто-нибудь мне помочь.

РЕДАКТИРОВАТЬ

Я снова попробовал этот способ, чтобы получить то, что я хочу.

Сначала я попытался получить все referal_code

public function get_same_referral_code()
    {
        $this->db->select('referal_code');
        $query = $this->db->get('investor');
        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $data[] = $row;
            }
            return $data;
        }
    }

, а теперьЯ собираюсь использовать этот метод get_same_referral_code(), чтобы проверить, имеет ли referral_link такое же значение на referal_code

public function get_same_referral_link()
    {
        $this->db->select('referral_link');
        $this->db->where('referral_link','get_same_referral_code();');
        $query = $this->db->get('investor');
        if($query->num_rows() > 0)
        {
            foreach($query->result() as $row)
            {
                $data[] = $row;
            }
            return $data;
        }
    }

, но проблема в том, что я получил эту ошибку сейчас

Сообщение: указан неверный аргумент для foreach ()

1 Ответ

1 голос
/ 07 октября 2019

Я думаю, подзапрос поможет вам

$SQL= "SELECT * FROM tableName WHERE referal_code EXISTS (SELECT DISTINCT Referral_Link FROM tableName)";
$query = $this->db->query($SQL);
return $query->result_array();

или

$SQL= "SELECT * FROM investor WHERE referral_link IN (SELECT DISTINCT referal_code FROM investor)";
$query = $this->db->query($SQL);
return $query->result_array();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...