1

I have two mysql table, sla and department, I am creating SLA and while creating sla, there is selection of multiple departments,

When user submit SLA form, respected departments in department table get sla id,

But after adding i need to pull that added SLA with join of departments which are updated,

Below is my code for 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);
    }
}

I had added few comments at each line,

When SLA added i get only 1 department at output,

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

How can i get both department_name as X, Y

Below is output of array,$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 ) )

Thanks in advance

2
  • What output do you want? Commented May 5, 2015 at 4:44
  • @sgtBOSE, i want my json output - department_name: "X,Y" Commented May 5, 2015 at 4:48

1 Answer 1

4

Try with -

    //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);
Sign up to request clarification or add additional context in comments.

1 Comment

i need sla_days: "1D 1H 1M" sla_id: "38" sla_name: "qweqweq" as well, i assume above one will echo only X,Y

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.