这是我输出的问题我希望从这个数组中获取所有reciver_id索引,并且在获得所有索引之后我想从另一个表用户获取这些id的结果
$data['cat_row'] = $this->messages_model->get_sentnotify($user_id);
foreach($data['cat_row'] as $key){
$profile = $key['reciver_id'];
}
$data['profile'] = $this->messages_model->Sender_profile($profile);
通过这段代码,我只得到第一个索引的1个值如何获得所有... 得到所有我想从其他表中获取每个id的用户
function Sender_profile($profile)
{
$this->db->where('id', $profile);
$query = $this->db->get($this->db_table2);
return $query->result_array();
}
答案 0 :(得分:2)
代码第1部分
在数组中获取所有 reciver_id ,如下所示:
$data['cat_row'] = $this->messages_model->get_sentnotify($user_id);
$profile = [];
foreach($data['cat_row'] as $key){
array_push($profile, $key['reciver_id']);
}
$data['profile'] = $this->messages_model->Sender_profile($profile);
代码第2部分
使用Codeigniter的 where_in()功能。
function Sender_profile($profile) {
$this->db->where_in('id', $profile);
$query = $this->db->get($this->db_table2);
return $query->result_array();
}
答案 1 :(得分:0)
在你的控制器中,你需要访问所有的receiver_id然后修改你的foreach循环:
import.reload()
现在你在$ profile数组中拥有所有的receiver_id。并在控制器函数中传递此数组,并应该像这样查询:
$i=0;
foreach($data['cat_row'] as $key){
$profile[$i] = $key['reciver_id'];
$i++;
}