Невозможно получить доступ к свойству объекта в результате Yii 1.1 queryAll ()

У меня такой запрос:

$transactionIds = \Yii::app()->db->createCommand()                                                                                                                              
    ->select("transactionId")                                                                                                                                                   
    ->from("batch_lab_transactions")                                                                                                                                            
    ->where("batchId = :batchId", ["batchId" => $batch->id])                                                                                                                    
    ->queryAll(); 

Что показано, согласно \Yii::log(json_encode($transactionIds));:

[{"transactionId":"658000024"},{"transactionId":"658000025"}]

Я пытаюсь получить доступ к ключу transactionId, но продолжаю получать сообщение об ошибке, в котором говорится, что я пытаюсь получить доступ к не объекту. Это цикл, который я использую:

foreach ($transactionIds as $transaction) {
    $transaction->transactionId // Error
}
Стоит ли изучать 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 и хотите разрабатывать...
0
0
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

С этим кодом вы получите массив массивов.

Так что вы можете использовать $transaction['transactionId']

В этом случае лучший способ использовать queryColumn() вместо queryAll():

$transactionIds = \Yii::app()->db->createCommand()                                                                                                                              
    ->select("transactionId")                                                                                                                                                   
    ->from("batch_lab_transactions")                                                                                                                                            
    ->where("batchId = :batchId", ["batchId" => $batch->id])                                                                                                                    
    ->queryColumn(); // <-- change here

foreach ($transactionIds as $transactionId) {
    echo $transactionId;
}

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