Как обновить массив в базе данных?

Я пытаюсь обновить массив в Codeigniter, но не могу понять синтаксис.

Ошибка: Произошла ошибка PHP Серьезность: уведомление

Сообщение: преобразование массива в строку

Имя файла: база данных / DB_driver.php

Номер строки: 1525

    public function allowregis()
    {
    $data = $this->input->post();

    for($i= 0;$i < count($data["regis_id"]);$i++)
    {
        $allow[] = array('regis_id' => $data['regis_id'][$i],
                    'regis_status' => $data['regis_status'][$i],
                    'regis_approveresult' => $data['regis_approveresult'][$i],
        );
    }

        $this->db->update('register',$allow,'regis_id');
        redirect('/register/cheackactivityallow/');
    }
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
468
3

Ответы 3

Как и говорится в ошибке, вы пытаетесь обновить поле значением массива ($allow), которое ожидает, что ему будет передана строка.

Добавьте запрос на обновление внутри цикла for.

public function allowregis()
{
$data = $this->input->post();

$allow = array();
for($i= 0;$i < count($data["regis_id"]);$i++)
{
    $allow[$i] = array('regis_id' => $data['regis_id'][$i],
                'regis_status' => $data['regis_status'][$i],
                'regis_approveresult' => $data['regis_approveresult'][$i],
    );
    $this->db->update('register',$allow[$i]);
}
    redirect('/register/cheackactivityallow/');
}

Вы можете использовать функцию update_batch codeigniter для достижения желаемого результата, поскольку вы отправляете многомерный массив в функцию обновления, которая будет выполнена через ошибку.

проверьте здесь пакетное обновление

Другие вопросы по теме