在 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。 它将帮助您尝试这个。