我的数据库中有3个表:
t_keg:ID|keg_name|time_start|time_end|place
t_keg_detail:ID|keg_ID|int_audience|ext_audience
t_user:ID|name|
int_audience的值是字符串,它是来自t_user的ID。例:1001,1002,1003
到目前为止,我根据t_keg的ID生成了特定t_keg加入t_detail的视图。
ID|keg_name|time_start|time_end|int_audience|ext_audience
1|Workshop|2015-08-16|2015-08-20|1001,1002,1003|Phil, Harry, Duke
但是,我想根据int_audience的值从t_user获取名称的值。 所以,它看起来像:
1|Workshop|2015-08-16|2015-08-20|Linus, Snape, Dumbledore|Phil, Harry, Duke
请帮忙!
编辑: 对不起,忘了写爆炸部分。
我试图爆炸int_audience
$aud=$data[0]->int_audience;
$aud_res=explode(',',$aud);
其中$ data是select t_keg join t_keg_detail
中的数组然后我使用foreach从t_user中选择id = $ aud_res
foreach ($aud_res as $x) {
$this->db->select('name');
$this->db->from('t_users');
$this->db->where('ID',$x);
$query = $this->db->get()->result();
$data['peserta']=$query;
}
print_r($data);
但是我只从int_audience(最后一个)获得一个名字。
我如何获得所有观众的名字?
并将它们放入$ data?
答案 0 :(得分:0)
我认为你的问题是你总是压倒价值
foreach ($aud_res as $x) {
$this->db->select('name');
$this->db->from('t_users');
$this->db->where('ID',$x);
$query = $this->db->get()->result();
$data['peserta']=$query; //so you are putting the value in the same place
} 的print_r($数据);
所以试试这个
foreach ($aud_res as $x) {
$this->db->select('name');
$this->db->from('t_users');
$this->db->where('ID',$x);
$query = $this->db->get()->result();
$data['peserta'][]=$query;
}
print_r($data);
这样tou会添加值而不会告诉数组值是最后一行。
希望有所帮助