Невозможно обновить запрос к базе данных в Codeigniter - PullRequest
0 голосов
/ 11 марта 2019

Я должен извлечь запись из формы массива.Ниже приведен результат массива.

Array(
    [price] => Array
    (
        [0] => 210
    )

    [code] => Array
    (
        [0] => SER-1001
    )
)
Array
(
    [price] => Array
    (
        [1] => 80
    )

    [code] => Array
    (
        [1] => XYZ-121
    )
)

Теперь я запутался, как обновить эти записи в таблице продуктов, где код, например, SER-1001 в базе данных, тогда цена должна быть обновлена ​​210.

Точно так же, как я делаю остальные соответствующие записи кода.

Ответы [ 2 ]

0 голосов
/ 11 марта 2019
    $array = [
     [
        'price' => [ '0' => 210],
        'code' =>['0' => 'SER-1001']
    ],
    [
        'price' => ['1' => 80],
        'code' =>['1' => 'XYZ-121']
    ]
];

С учетом вышеуказанного выходного массива. Вы можете написать код примерно так.


$counter = 0;
foreach($array as $data)
{
    if(isset($data['code'][$counter]))
    {
        $code = $data['code'][$counter];

        $data = [
            'price' => $data['price'][$counter];
        ];

        $this->db->where($column, $code);

        $this->db->update('database-table-name',$data);  
    }

    $counter++;
}

0 голосов
/ 11 марта 2019
foreach ($arr as $key => $value) {
  $data = array(  
    'price'=> $value['price'];
  );  
  $this->db->where('code', $value['code']);  
  $this->db->update(‘database-table-name’,$data);   
}

попробуйте это, здесь вы перебираете массив и обновляете данные по одному.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...