Magento: превратить результаты PDO в объект Varien - PullRequest
3 голосов
/ 08 июня 2011

У меня есть хранимая процедура, которую я вызываю, используя 'core_read' и метод запроса. Затем результаты собираются с использованием fetchAll (PDO :: FETCH_ASSOC).

Данные выходят отлично. Я могу сделать foreach для массива и получать доступ к данным с помощью ключей массива ($ row ['name']).

Я хотел бы преобразовать ассоциативный массив в Varien_Object, чтобы я мог получить доступ к данным, используя нотацию $ row-> getName () ... Сохраняя их в стиле Magento ... Как бы я выполнил такое преобразование, если бы возможно

Ответы [ 3 ]

4 голосов
/ 08 июня 2011

Передайте ваш массив конструктору Varien_Object

$object = new Varien_Object($array);

См. Код для конструктора в lib / varien / object

3 голосов
/ 08 июня 2011

Я думаю, вы просто можете использовать:

foreach($rows as $row) {
    $object = new Varien_Object();
    $object->setData($row);
}
1 голос
/ 08 июня 2011

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

foreach($rows as $row) {
   $orders[] = new Varien_Object($row);
}
...