Реализация класс типа вопроса Correct Writing
Originally reported on Google Code with ID 99 ``` Реализовать класс типа вопроса Correct Writing в файле questiontype.php ```
Reported by `oasychev` on 2012-02-26 20:28:46
Comments (8)
-
reporter -
reporter ``` Мне не нравится получение из БД символов для всех ответов в цикле. Циклов в запросах к БД следует категорически избегать! Количество вопросов должно быть константным.
В данном случае можно воспользоваться такой операцией SQL как IN, позволяющей задать множество id в одном запросе. Для работы с ней рекомендуется использовать вспомогательную функцию Moodle get_in_or_equal - или что-то в этом роде. ```
Reported by `oasychev` on 2012-04-21 12:34:39
-
reporter ``` И когда создаете объект, зачем копировать массив вручную? Чем clone то не устраивает? ```
Reported by `oasychev` on 2012-04-21 12:35:49
-
reporter ``` И еще у меня есть сомнения что текующая реализация save_question_options работает...
Ведь parent:: уже удалил старые ансверы, а вы после пытаетесь получить их из БД.... ```
Reported by `oasychev` on 2012-04-21 12:37:43
-
reporter ``` Дмитрий, вам надо поскорее сделать минимальную часть формы (пусть пока без перезагрузки при выводе лексем) чтобы вы могли потестить/отладить save_question_options. Без этого мержить код не буду... ```
Reported by `oasychev` on 2012-04-25 14:07:44
-
reporter ``` Дмитрий, пожалуйста, пишите в коммит-сообщениях какие конкретно ошибки исправлены. А не "мелкие ошибки" просто...
Также сравните свое отношение к символам при сохранении вопроса с отношением того же шортансвера к ответам (оно скорее всего в базовом классе еще). Там пытаются при сохранении максимально использовать существующие строки, перезаписывая их; а вы удаляете и вставляете новые. На некоторых СУБД это потенциальные проблемы с более резким ростом значений id... ```
Reported by `oasychev` on 2012-05-05 21:15:31
-
reporter Reported by `oasychev` on 2012-08-09 15:38:05 - Status changed: `Fixed`
-
reporter Reported by `oasychev` on 2012-09-25 09:25:33 - Status changed: `Done`
- Log in to comment
``` qtype_correctwriting не является "экстра" таблицей, т.к. это основная таблица. Или она вам нужна для ссылок? Тогда возможно этой функции надо знать и таблицу ответов.... И еще нужна информация об именах полей для id ответа и вопроса в каждой таблице. Просто перечисления имен таблиц может не хватить....
Вы бы сначала посмотрели на get_question_options/save_question_options и попробовали написать код для extra_question_tables, а потом уже определяли формат входных данных... ```
Reported by `oasychev` on 2012-04-07 04:39:02