Этот запрос проще написать, и он проще для обработки базой данных. Запросом возвращаются все атрибуты, связанные с проблемой, даже если на момент написания запроса неизвестно, сколько существует атрибутов.
Чтобы использовать результат в данном формате, необходимо написать прикладной код для организации цикла по строкам набора результатов и установки свойств объекта в приложении.
Прекрасно ладите с детьми и у вас есть хорошие рекомендации, разместите вашу вакансию здесь, база обновляется ежедневно.
См. в качестве примера следующий РНР-код:
$stmt = $pdo-**qu'9.ry t <><'•< •"'n '•• ••¦<•'.'• •' f» "
"SELECT issue id, attr_name, attr value
FROM IssueAttributes
WHERE issue id
= 1234");
while ($row = $stmt->fetch()) <{ $id = $row['issue_id']; $field = $row['attr_name']; $value = $row['attr_value']; if (! array_key_exists($id, $objects)) { $objects[$id] = new stdClassf);
$objects[$id]->$field = $value;
Данный пример может выглядеть излишне трудоемким, но это ни что иное, как следствие применения системы-внутри-системы, подобной EAV. Язык SQL уже предлагает способ идентификации отдельных атрибутов — в отдельных столбцах. Используя EAV, вы вводите в SQL новый способ идентификации атрибутов, так что нет ничего удивительного в том, что SQL поддерживает эту функцию неуклюже и неэффективно.
Опубликовал vovan666
June 28 2013 17:52:03 ·
0 Комментариев ·
4480 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.