當前位置: 首頁>>代碼示例>>PHP>>正文


PHP question_usage_by_activity::set_id_from_database方法代碼示例

本文整理匯總了PHP中question_usage_by_activity::set_id_from_database方法的典型用法代碼示例。如果您正苦於以下問題:PHP question_usage_by_activity::set_id_from_database方法的具體用法?PHP question_usage_by_activity::set_id_from_database怎麽用?PHP question_usage_by_activity::set_id_from_database使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在question_usage_by_activity的用法示例。


在下文中一共展示了question_usage_by_activity::set_id_from_database方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: insert_questions_usage_by_activity

 /**
  * Store an entire {@link question_usage_by_activity} in the database,
  * including all the question_attempts that comprise it.
  * @param question_usage_by_activity $quba the usage to store.
  */
 public function insert_questions_usage_by_activity(question_usage_by_activity $quba)
 {
     $record = new stdClass();
     $record->contextid = $quba->get_owning_context()->id;
     $record->component = $quba->get_owning_component();
     $record->preferredbehaviour = $quba->get_preferred_behaviour();
     $newid = $this->db->insert_record('question_usages', $record);
     $quba->set_id_from_database($newid);
     foreach ($quba->get_attempt_iterator() as $qa) {
         $this->insert_question_attempt($qa, $quba->get_owning_context());
     }
 }
開發者ID:covex-nn,項目名稱:moodle,代碼行數:17,代碼來源:datalib.php

示例2: insert_questions_usage_by_activity

 /**
  * Store an entire {@link question_usage_by_activity} in the database,
  * including all the question_attempts that comprise it.
  *
  * You should not call this method directly. You should use
  * @link question_engine::save_questions_usage_by_activity()}.
  *
  * @param question_usage_by_activity $quba the usage to store.
  */
 public function insert_questions_usage_by_activity(question_usage_by_activity $quba)
 {
     $record = new stdClass();
     $record->contextid = $quba->get_owning_context()->id;
     $record->component = $quba->get_owning_component();
     $record->preferredbehaviour = $quba->get_preferred_behaviour();
     $newid = $this->db->insert_record('question_usages', $record);
     $quba->set_id_from_database($newid);
     // Initially an array of array of question_attempt_step_objects.
     // Built as a nested array for efficiency, then flattened.
     $stepdata = array();
     foreach ($quba->get_attempt_iterator() as $qa) {
         $stepdata[] = $this->insert_question_attempt($qa, $quba->get_owning_context());
     }
     $stepdata = call_user_func_array('array_merge', $stepdata);
     if ($stepdata) {
         $this->insert_all_step_data($stepdata);
     }
 }
開發者ID:abhilash1994,項目名稱:moodle,代碼行數:28,代碼來源:datalib.php

示例3: load_from_records

    /**
     * Create a question_usage_by_activity from records loaded from the database.
     *
     * For internal use only.
     *
     * @param Iterator $records Raw records loaded from the database.
     * @param int $questionattemptid The id of the question_attempt to extract.
     * @return question_usage_by_activity The newly constructed usage.
     */
    public static function load_from_records($records, $qubaid) {
        $record = $records->current();
        while ($record->qubaid != $qubaid) {
            $records->next();
            if (!$records->valid()) {
                throw new coding_exception("Question usage $qubaid not found in the database.");
            }
            $record = $records->current();
        }

        $quba = new question_usage_by_activity($record->component,
            context::instance_by_id($record->contextid, IGNORE_MISSING));
        $quba->set_id_from_database($record->qubaid);
        $quba->set_preferred_behaviour($record->preferredbehaviour);

        $quba->observer = new question_engine_unit_of_work($quba);

        // If slot is null then the current pointer in $records will not be
        // advanced in the while loop below, and we get stuck in an infinite loop,
        // since this method is supposed to always consume at least one record.
        // Therefore, in this case, advance the record here.
        if (is_null($record->slot)) {
            $records->next();
        }

        while ($record && $record->qubaid == $qubaid && !is_null($record->slot)) {
            $quba->questionattempts[$record->slot] =
                    question_attempt::load_from_records($records,
                    $record->questionattemptid, $quba->observer,
                    $quba->get_preferred_behaviour());
            if ($records->valid()) {
                $record = $records->current();
            } else {
                $record = false;
            }
        }

        return $quba;
    }
開發者ID:Jtgadbois,項目名稱:Pedadida,代碼行數:48,代碼來源:questionusage.php

示例4: load_from_records

    /**
     * Create a question_usage_by_activity from records loaded from the database.
     *
     * For internal use only.
     *
     * @param Iterator $records Raw records loaded from the database.
     * @param int $questionattemptid The id of the question_attempt to extract.
     * @return question_usage_by_activity The newly constructed usage.
     */
    public static function load_from_records($records, $qubaid) {
        $record = $records->current();
        while ($record->qubaid != $qubaid) {
            $records->next();
            if (!$records->valid()) {
                throw new coding_exception("Question usage $qubaid not found in the database.");
            }
            $record = $records->current();
        }

        $quba = new question_usage_by_activity($record->component,
            get_context_instance_by_id($record->contextid));
        $quba->set_id_from_database($record->qubaid);
        $quba->set_preferred_behaviour($record->preferredbehaviour);

        $quba->observer = new question_engine_unit_of_work($quba);

        while ($record && $record->qubaid == $qubaid && !is_null($record->slot)) {
            $quba->questionattempts[$record->slot] =
                    question_attempt::load_from_records($records,
                    $record->questionattemptid, $quba->observer,
                    $quba->get_preferred_behaviour());
            if ($records->valid()) {
                $record = $records->current();
            } else {
                $record = false;
            }
        }

        return $quba;
    }
開發者ID:numbas,項目名稱:moodle,代碼行數:40,代碼來源:questionusage.php


注:本文中的question_usage_by_activity::set_id_from_database方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。