检索与单个记录关联的多个值。 MySQL PHP Codeigniter

时间:2014-02-18 02:50:24

标签: php mysql sql codeigniter

我需要有关下表的查询帮助。

table user(
    user_id char(5),
    username char(12),
    columnx char(10));*

table phone(
    user_id char(5),
    phone_number  number(10),
    primary(Y, N) char(1));* 

两个表都链接在user_id上, 这里每个用户可以有多个phone_numbers。

我需要提取一组用户以及他们的电话号码。我正在尝试执行以下操作。

在模型中

$this->db->where('columnx', 'something');
$query = $this->db->get('users');
foreach($query->result() as $row) {
    $this->db->select('phone_number');
    $this->db->where('user_id', $row->user_id);
    $this->db->where('primary', 'Y');

    $q = $this->db->get('phone');
} 

当我的第一个$ query返回多个用户时,如何从模型返回并为每个用户显示多个电话号码?

提前致谢, 的Prim

1 个答案:

答案 0 :(得分:0)

尝试使用join:

$query = $this->db->select('*')
                ->from('user as a')
                ->join('phone as b', 'a.user_id = a.user_id')
                ->where(array('a.columnx' => 'something'));
                ->get();
var_dump($query->result());