коллекция magento 2 дает пустые данные?

#magento #magento2

#magento #magento2

Вопрос:

ниже мой код:

$transObj = $this-> _objectManager-> создать(‘Magento Продажи Модель Заказ Оплата Транзакция’);

     $order_id = 9706;
    $trans_result = $transObj->getCollection()
        ->addAttributeToSelect(
                    'order_id'
         ) 
         ->addAttributeToSelect(
                    'payment_id'
         )
         ->addAttributeToSelect(
                    'is_closed'
         )
         ->addAttributeToSelect(
                    'txn_id'
        )
        ->addAttributeToSelect(
                    'transaction_id'
        )
        ->addFieldToFilter(
                    'order_id',
                     array("eq" => $order_id)
        );

        var_dump($trans_result->getData());
        echo "n Query:".$trans_result->getSelect();
  

ниже я получаю вывод в виде :

массив (0) { }

Запрос: ВЫБЕРИТЕ main_table . order_id , main_table . payment_id , main_table . is_closed , main_table . txn_id , main_table . transaction_id ИЗ sales_payment_transaction КАК main_table ГДЕ ( order_id = 9706)

когда я запускаю запрос в Mysql, я получаю данные, полученные правильно.

Но когда я проверяю вывод результата ($ trans_result) с помощью getData(); я получаю пустые данные.

Любая помощь будет оценена.? Заранее спасибо.

Комментарии:

1. Пытались просмотреть данные с помощью цикла foreach?

Ответ №1:

Я почти уверен, что это в атрибутах. Сделайте это проще.

  $order_id = 9706;
 $trans_result = $transObj->getCollection()
                          ->addFieldToFilter('order_id', array('eq' => $order_id))
  

Вам нужно то же значение, потому что вы используете все столбцы из таблицы, поэтому нет необходимости добавлять поля в предложении SELECT. Хотя, если вы хотите выбрать определенный столбец, используйте

   $trans_result = $trans_result->addFieldToSelect('payment_id')
  

Обратите внимание, что я использую addFieldToSelect вместо addAttributeToSelect

Комментарии:

1. Большое спасибо, Леон. Я проверил, используя только addFieldToFilter, но все равно получаю пустой массив.

2. Это ошибка с моей стороны. Он отлично работает, приятель. спасибо за вашу помощь.

3. @DineshArumugam — В чем была ошибка