在 codeigniter 中检索数组作为逗号分隔值
retrieving array as comma separated values in codeigniter
我正在使用下面的代码从 pr_users table 中获取 ID 并将其存储在 pr_notification_table 中,但无法将逗号分隔的值存储到 pr_notifications table。我想将 $notification_data['show_users'] 存储为 1,2,3,4 等,以便将通知发送到这些 ID。它在执行时插入 NULL,我也附上了 table 图片,
pr_notifications table如下:
我的控制器代码是:
if($data['rows'][0]['last_status'] == 'Accepted')
{
$ids= '22';
$data['success_message'] = $this->exit_common->send_notification_to_all_roles($ids);
echo "Success";
}
我的型号代码是:
function send_notification_to_all_roles($ids)
{
global $USER;
$post_arr = $this->input->post();
$this->db->select('g.*,id');
$this->db->from('pr_users as g');
$this->db->where('userroleid', $ids);
//$this->db->join($this->myTables['pr_users_details'].' as ud','ud.userid = g.userid');
//$this->db->join('pr_users_details as ud','ud.userid = g.userids');
/* $this->db->join($this->myTables['users_details'].' as ud','ud.userid = g.userid');
$this->db->join('pr_resignation_type as gt','gt.id = g.sr_type');*/
$query=$this->db->get();
$return = $query->result_array();
$arr = explode(',',$return);
foreach($arr as $num)
{
echo $num."<br>";
}
print_r($num);
die;
$manager_id = $this->get_value_by_id('managerid','users',$this->session->userdata('admin_id'));
$user_id='1';
$v_memberid = $manager_id . "," . $user_id;
//$manager_id = $this->get_value_by_id('managerid','users',$this->session->userdata('admin_id'));
$notification_data['ref_table'] = 'pr_resignation_requests';
$notification_data['ref_id'] = '1';
$notification_data['modifier_id'] = $USER->id;
$notification_data['show_users'] = $num;
$notification_data['notification_descr']= "A new Job has been created" ;//$manager_id;
$notification_data['notification_text'] = "A new Job has been created";
$notification_data['added_on'] = date("Y-m-d H:i:s");
$notification_data['url'] = 'exits';
$notification_data['uurl'] = 'exits';
$this->db->insert($this->myTables['notifications'],$notification_data);
return 'Resignation Request submitted successfully';
}
您想以逗号分隔存储 $ids 吗?然后使用 implode()。
$arr = array('Hello','World!','Beautiful','Day!');
echo 内爆(",",$arr);
希望对您有所帮助。
我认为你必须从 pr_users table 获取 notification_id,然后使用以下代码获取 notification_id 逗号 seprated.Assume 而不是你的通知id 数组是:- $user_notification_ids_info
现在使用此代码。
$ids = ''; $notification_ids = '';
for($i=0; $i<count($user_notification_ids_info); $i++)
{
$ids = $user_notification_ids_info[$i]['notification_id'];
$notification_ids.= $ids.", ";
}
$notification_ids = substr(trim($notification_ids), 0, -1);
现在只需 echo $notification_ids;
它将 return 您的逗号分隔通知 ID。
它将帮助您尝试这个。
我正在使用下面的代码从 pr_users table 中获取 ID 并将其存储在 pr_notification_table 中,但无法将逗号分隔的值存储到 pr_notifications table。我想将 $notification_data['show_users'] 存储为 1,2,3,4 等,以便将通知发送到这些 ID。它在执行时插入 NULL,我也附上了 table 图片,
pr_notifications table如下:
我的控制器代码是:
if($data['rows'][0]['last_status'] == 'Accepted')
{
$ids= '22';
$data['success_message'] = $this->exit_common->send_notification_to_all_roles($ids);
echo "Success";
}
我的型号代码是:
function send_notification_to_all_roles($ids)
{
global $USER;
$post_arr = $this->input->post();
$this->db->select('g.*,id');
$this->db->from('pr_users as g');
$this->db->where('userroleid', $ids);
//$this->db->join($this->myTables['pr_users_details'].' as ud','ud.userid = g.userid');
//$this->db->join('pr_users_details as ud','ud.userid = g.userids');
/* $this->db->join($this->myTables['users_details'].' as ud','ud.userid = g.userid');
$this->db->join('pr_resignation_type as gt','gt.id = g.sr_type');*/
$query=$this->db->get();
$return = $query->result_array();
$arr = explode(',',$return);
foreach($arr as $num)
{
echo $num."<br>";
}
print_r($num);
die;
$manager_id = $this->get_value_by_id('managerid','users',$this->session->userdata('admin_id'));
$user_id='1';
$v_memberid = $manager_id . "," . $user_id;
//$manager_id = $this->get_value_by_id('managerid','users',$this->session->userdata('admin_id'));
$notification_data['ref_table'] = 'pr_resignation_requests';
$notification_data['ref_id'] = '1';
$notification_data['modifier_id'] = $USER->id;
$notification_data['show_users'] = $num;
$notification_data['notification_descr']= "A new Job has been created" ;//$manager_id;
$notification_data['notification_text'] = "A new Job has been created";
$notification_data['added_on'] = date("Y-m-d H:i:s");
$notification_data['url'] = 'exits';
$notification_data['uurl'] = 'exits';
$this->db->insert($this->myTables['notifications'],$notification_data);
return 'Resignation Request submitted successfully';
}
您想以逗号分隔存储 $ids 吗?然后使用 implode()。
$arr = array('Hello','World!','Beautiful','Day!'); echo 内爆(",",$arr);
希望对您有所帮助。
我认为你必须从 pr_users table 获取 notification_id,然后使用以下代码获取 notification_id 逗号 seprated.Assume 而不是你的通知id 数组是:- $user_notification_ids_info
现在使用此代码。
$ids = ''; $notification_ids = '';
for($i=0; $i<count($user_notification_ids_info); $i++)
{
$ids = $user_notification_ids_info[$i]['notification_id'];
$notification_ids.= $ids.", ";
}
$notification_ids = substr(trim($notification_ids), 0, -1);
现在只需 echo $notification_ids;
它将 return 您的逗号分隔通知 ID。
它将帮助您尝试这个。