1

I have used below query to get array result with id as key value,

$this->db->select('gp.id, gp.lot_no, SUM(gb.weight) AS weight, SUM(gb.staple) AS staple, SUM(gb.mic) AS mic, SUM(gb.strength) AS strength, SUM(gb.trash) AS trash, gb.color_grade');
            $this->db->from(GIN_BALES . ' gb');
            $this->db->join(GIN_PROCESS . ' gp', 'gp.id=gb.process_id'); 
            $this->db->where('gb.sold_status', 0);
            $this->db->where('gp.ginner_id', $this->prscr_id);
            $this->db->where('gp.program', $program_id);
            $this->db->group_by('gp.id');
            $lot_details = $this->db->get()->result();

But I getting the array result like below and array key have 0,1.I want that array key with id like,561,562.

Array
(
    [0] => stdClass Object
        (
            [id] => 561
            [lot_no] => 1
            [weight] => 16230
            [staple] => 3600
            [mic] => 0
            [strength] => 0
            [trash] => 0
            [color_grade] => 0
        )

    [1] => stdClass Object
        (
            [id] => 562
            [lot_no] => 2
            [weight] => 15523
            [staple] => 3600
            [mic] => 0
            [strength] => 0
            [trash] => 0
            [color_grade] => 0
        )
)

Can anyone provide solution for this query issue?

user3157334
  • 79
  • 1
  • 8
  • Possible duplicate of [Change the array KEY to a value from sub array](https://stackoverflow.com/questions/2392737/change-the-array-key-to-a-value-from-sub-array) – miken32 Jun 25 '19 at 14:48

1 Answers1

1

Here is one liner,

// null will take id as key and whole array as value
$temp = array_column($temp, null, "id");

Reference: array_column.

Demo.

Output:

Array
(
    [561] => stdClass Object
        (
            [id] => 561
            [lot_no] => 1
            [weight] => 16230
            [staple] => 3600
            [mic] => 0
            [strength] => 0
            [trash] => 0
            [color_grade] => 0
        )

    [562] => stdClass Object
        (
            [id] => 562
            [lot_no] => 2
            [weight] => 15523
            [staple] => 3600
            [mic] => 0
            [strength] => 0
            [trash] => 0
            [color_grade] => 0
        )

)
Rahul
  • 18,271
  • 7
  • 41
  • 60
  • To mark an answer as accepted, click on the check mark beside the answer to toggle it from greyed out to filled in. See this [image](https://i.stack.imgur.com/QpogP.png). – Rahul Jun 25 '19 at 14:01