Arhn - архитектура программирования

Объект класса stdClass не может быть преобразован в строку

Я использую этот код для вставки

$last_id = "SELECT max(id) as id from clients ";
    $client_id = $this->db->query($last_id)->row();
    $client_last = $client_id->id;
    $data = array();    
for($i=0; $i<count($res); $i++)
{
$data['user_id'] = $res[$i];
$data['client_id']=$client_last;
$this->db->insert("notifications", $data);
}

Массив $res возвращает значения user_ids, как показано ниже:

 Array
(
[0] => stdClass Object
    (
        [id] => 5
    )

[1] => stdClass Object
    (
        [id] => 6
    )

[2] => stdClass Object
    (
        [id] => 7
    )

)

И переменная $client_last возвращает одно значение, например 5 или 90, что-то вроде этого.

В этом сценарии я хочу вставить три строки в уведомления таблицы, вставив значение массива $res и одно и то же значение $client_last для каждого значения $res array. Но в этом случае я получаю сообщение об ошибке базы данных:

Сообщение: Объект класса stdClass не может быть преобразован в строку

и когда я печатаю последний запрос с $this->db->last_qery();, он показывает что-то вроде этого

INSERT INTO `notifications` (`user_id`, `client_id`) VALUES (, '90')

с сообщением об ошибке sql.


Ответы:


1

Я думаю, что ваша проблема в этой строке:

$data['user_id'] = $res[$i];

Вы должны изменить его на:

  $data['user_id'] = $res[$i]->id;

Поскольку значения идентификатора находятся в объекте, хранящемся в массиве $res

Код:

for($i=0; $i<count($res); $i++)
{
  $data['user_id'] = $res[$i]->id;
  $data['client_id'] = $client_last;
  $this->db->insert("notifications", $data);
}
02.08.2015
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..