如何将多个值添加到数组的键并从另一个表中获取数据?

时间:2013-12-14 16:44:28

标签: php arrays database codeigniter

我正在尝试从一个数据库中获取数据,其中id等于当前登录的租户(tenant_id),

$this->data['props'] = $this->property_m->get_by( array ('id' => $this->session->userdata['tanant_id'] ));

然后从字段中获取一些值并保存在数组中

if(count($this->data['props']) > 0){
    $my_array = array();
    foreach ($props as $prop){
        $my_array['id'] = $prop->tenant_id;
    }
}

这里的第一个问题 - $ my_array只包含1个值。 (我需要多个)我该怎么做?
第二个问题 - 我需要从另一个表中选择数据来查找满足该数组条件的数据, as,

$this->data['reports'] = $this->report_m->get_by($my_array);

会说,

SELECT * FROM  reports WHERE ('id = 1'); // or 2 or 3 (value from prop->tenant)

但我需要它,

SELECT * FROM reports WHERE ('id = 1 OR id = 2 OR id = 3'); 

1 个答案:

答案 0 :(得分:1)

这样做的:

$my_array = array();
foreach ($props as $prop){
    $my_array['id'] = $prop->tenant_id;
}

您只需覆盖id的{​​{1}}密钥。使用此:

$my_array

使用$my_array = array(); foreach ($props as $prop){ $my_array[] = $prop->tenant_id; } // print_r($my_array); 条件:

where field in ()

假设你有:

SELECT * FROM reports WHERE id IN (1, 2, 3);