Использование PDO :: FETCH_CLASS с магическими методами

У меня есть класс, который использует магические методы для хранения свойств. Вот упрощенный пример:

class Foo {
    protected $props;

    public function __construct(array $props = array()) {
        $this->props = $props;
    }

    public function __get($prop) {
        return $this->props[$prop];
    }

    public function __set($prop, $val) {
        $this->props[$prop] = $val;
    }
}

Я пытаюсь создать экземпляры объектов этого класса для каждой строки базы данныхPDOStatement после того, как это выполнено, как это (не работает):

$st->setFetchMode(PDO::FETCH_CLASS, 'Foo');

foreach ($st as $row) {
    var_dump($row);
}

Проблема в том, чтоPDO::FETCH_CLASS не вызывает магию__set() метод в моем классе, когда он устанавливает значения свойств.

Как я могу достичь желаемого эффекта с помощью PDO?

Ответы на вопрос(1)

Ваш ответ на вопрос