1

私は codeigniter にかなり慣れていないので、JOIN 操作を試みていました。私のデータベーステーブルusers構造は

id   username      password     user_type  cust_id
8     abc           xyz          cust        7

そしてaccount_numbersテーブルは

bank_id     customer_id     ac_number  creation_date
3                    7          12345       2013-06-12   

既知のユーザーIDのアカウント番号を取得するために、私は書きました

function get_ac_no($user_id)
{

    //echo $user_id;

    $this->load->database();
    $this->db->select('ac_number');
    $this->db->from('account_numbers');
    $this->db->join('users','account_numbers.customer_id = users.id');
    $this->db->where('customer_id ',$user_id);
    $this->db->limit(1);

    $q = $this->db->get();

    $r = $q->result();

    var_dump( $r );
    return $r;       
}

しかし、空の結果が表示されます! 私がしていることが間違っていることを提案できますか?

4

2 に答える 2

0

ユーザー ID と customer_id に一致するレコードがないため、null の結果セットを取得できます。テーブルレコードが次のような場合...

ユーザーテーブル

 id   username      password     user_type  cust_id
 8     abc           xyz          cust        7

account_numbersテーブル

bank_id     customer_id     ac_number  creation_date
3                    8          12345       2013-06-12   

あなたは1つのレコードを得ることができます..

上記の表で結合を使用して、結果を次のように使用します...

 ac_number
   12345

あなたの結合はusersテーブルidaccount_numbersテーブルcustomer_idと一致しています...

ユーザーIDとコスチュームIDが一致したときにレコードを取得した場合。

私の英語でごめんなさい.....

于 2013-06-12T20:00:18.897 に答える