Получение объектов с сетерами и гетерами из mysql запроса в zend framework При выполнение Sql запроса в Zend_Db результат возвращается в виде массива ассоциативных массивов. Я хочу сделать чтобы результат возвращался в виде массива объектов с сетерами и гетерами(Как в магенто например, я знаю что там своя реализация коллекций, мне было бы достаточно простого массива объектов).
В голову приходит только следующее:
1)Создаём у объекта метод loadFromArray
2)Выполняем наш запрос
3)В цикле создаём объекты, грузим их из массива и добавляем их в новый массив.
4)Возвращаем полученный массив.
Но я не уверен что это правильно. Очень хотелось бы узнать как правильно.
Задам здесь ещё 1 вопрос, чтобы не плодить топики. Если мне нужно только 1 параметр объекта, то для того чтобы не грузить весь объект нужно создать хелпер или добавить метод возвращающий это значение без загрузки всего объекта?
Ответ на ваш первый вопрос: ваш подход к созданию массива объектов с сетерами и гетерами из результатов SQL запроса в Zend Framework довольно стандартный и имеет право на существование. Вы можете создать класс с методом loadFromArray, который будет загружать данные из ассоциативного массива в объект с помощью сетеров. Затем выполнить SQL запрос, пройти по результатам с помощью цикла, создавать объекты и добавлять их в массив. Это довольно распространенный подход и он работает.
Ответ на ваш второй вопрос: если вам нужно только одно значение объекта и вы не хотите загружать весь объект, то более оптимальным решением будет создать метод в вашем классе, который будет возвращать только это значение. Таким образом, вы избежите лишней нагрузки на память и ускорите выполнение вашей программы.
Ответ на ваш первый вопрос: ваш подход к созданию массива объектов с сетерами и гетерами из результатов SQL запроса в Zend Framework довольно стандартный и имеет право на существование. Вы можете создать класс с методом loadFromArray, который будет загружать данные из ассоциативного массива в объект с помощью сетеров. Затем выполнить SQL запрос, пройти по результатам с помощью цикла, создавать объекты и добавлять их в массив. Это довольно распространенный подход и он работает.
Ответ на ваш второй вопрос: если вам нужно только одно значение объекта и вы не хотите загружать весь объект, то более оптимальным решением будет создать метод в вашем классе, который будет возвращать только это значение. Таким образом, вы избежите лишней нагрузки на память и ускорите выполнение вашей программы.