php - 如何将 PHP 数组值分配为逗号分隔的字符串

标签 php mysql codeigniter

我有两个 mysql 表,sla 和部门,我正在创建 SLA,在创建 sla 时,可以选择多个部门,

当用户提交 SLA 表单时,部门表中受尊重的部门获得 sla id,

但是在添加之后,我需要将添加的 SLA 与已更新的部门联合起来,

下面是我的 Controller 代码,

if ($this->form_validation->run() !== FALSE) {
    $result = $this->model_admin->updatesla($sla_data); // Add SLA
    if (!$result) {
        $lastentry = $this->model_admin->LastEntrysla(); //Get last added SLA
        foreach($this->input->post('sla_department') as $department_id) {
            $sladepartment_data = array( 'sla_id' => $lastentry->sla_id);
            $this->model_admin->updatedepartmentsla($department_id,$sladepartment_data);//Update SLA to respective multiselected department
        }
        //Now getadded SLA with join of department
        foreach($this->model_admin->getaddedsla($lastentry->sla_id) as $returnsla) {
            $returnslajson = array(  'sla_id' => $returnsla->sla_id,
                'sla_name' => $returnsla->sla_name,
                'sla_days' => $returnsla->sla_days.'D '.$returnsla->sla_hours.'H '.$returnsla->sla_minutes.'M',
                'department_name' => $returnsla->department_name); //Here this SLA is assign to department X and Y, i want department_name = X, y
        }
        echo json_encode($returnslajson);
    }
}

我在每一行都添加了一些注释,

添加 SLA 后,我在输出时只得到 1 个部门,

department_name: "X"
sla_days: "1D 1H 1M"
sla_id: "38"
sla_name: "qweqweq"

我怎样才能同时得到 department_name 作为 X, Y

下面是数组的输出,$this->model_admin->getaddedsla($lastentry->sla_id)

Array ( [0] => stdClass Object ( [sla_id] => 38 [sla_name] => qweqweq [sla_days] => 1 [sla_hours] => 1 [sla_minutes] => 1 [department_id] => 20 [department_name] => X ) [1] => stdClass Object ( [sla_id] => 38 [sla_name] => qweqweq [sla_days] => 1 [sla_hours] => 1 [sla_minutes] => 1  [department_id] => 21 [department_name] => Y ) )

提前致谢

最佳答案

尝试 -

    //Now getadded SLA with join of department
    $department_name = $name = $days = $id = array();
    foreach($this->model_admin->getaddedsla($lastentry->sla_id) as $returnsla) {
        $name[] = $returnsla->sla_name;
        $id[] = $returnsla->sla_id;
        $days[] = $returnsla->sla_days.'D '.$returnsla->sla_hours.'H '.$returnsla->sla_minutes.'M';
        $department_name[] = $returnsla->department_name;
    }
    $returnslajson['department_name'] = implode(',', $department_name);
    $returnslajson['sla_id'] = implode(',', $id);
    $returnslajson['sla_name'] = implode(',', $name);
    $returnslajson['sla_days'] = implode(',', $days);
    echo json_encode($returnslajson);

关于php - 如何将 PHP 数组值分配为逗号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30044400/

相关文章:

php - Codeigniter 在数据透视表上连接 2 个表

php - 可扩展的延迟 PHP 处理

php - 在 Laravel、Vuejs 和 Inertia 中配置 TypeScript 时出现问题

php - HasMany 多项选择不起作用 Cakephp

php - 获取与 WordPress 中自定义帖子类型关联的所有用户

mysql - CodeIgniter DB错误,mysql连接

php - 在 $config ['encrypt_name' 之后获取文件名] 使用 codeigniter

javascript - jquery ajax 无法捕获数据

php - 准备好的动态mysql查询

php - Codeigniter ajax使用ajax代码将数据发送到 Controller