diff options
| author | Ron Lucke <lucke@elan-ev.de> | 2022-02-07 14:27:25 +0000 |
|---|---|---|
| committer | Ron Lucke <lucke@elan-ev.de> | 2022-02-07 14:27:25 +0000 |
| commit | 333b1181662f26afe13256b26c6c87605d627d10 (patch) | |
| tree | 4b7220f5eb8794d654cb03c1f015cb43ea071c6a /lib/models/Courseware/TaskFeedback.php | |
| parent | e40d838a4f73cf1a0bd5a35fdfd7a476b523d3f1 (diff) | |
StEP 00357
Diffstat (limited to 'lib/models/Courseware/TaskFeedback.php')
| -rwxr-xr-x | lib/models/Courseware/TaskFeedback.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/models/Courseware/TaskFeedback.php b/lib/models/Courseware/TaskFeedback.php new file mode 100755 index 0000000..57e2ce0 --- /dev/null +++ b/lib/models/Courseware/TaskFeedback.php @@ -0,0 +1,58 @@ +<?php + +namespace Courseware; + +use User; + +/** +* Courseware's task feedback. +* +* @author Ron Lucke <lucke@elan-ev.de> +* @license GPL2 or any later version +* +* @since Stud.IP 5.1 +* +* @property int $id database column +* @property int $task_id database column +* @property string $lecturer_id database column +* @property string $content database column +* @property int $mkdate database column +* @property int $chdate database column + +* @property \User $lecturer belongs_to User +* @property \Courseware\Task $task belongs_to Courseware\Task +*/ +class TaskFeedback extends \SimpleORMap +{ + protected static function configure($config = []) + { + $config['db_table'] = 'cw_task_feedbacks'; + + $config['belongs_to']['lecturer'] = [ + 'class_name' => User::class, + 'foreign_key' => 'lecturer_id', + ]; + + $config['belongs_to']['task'] = [ + 'class_name' => Task::class, + 'foreign_key' => 'task_id', + ]; + + parent::configure($config); + } + + public function getStructuralElement(): ?StructuralElement + { + $sql = 'SELECT se.* + FROM cw_task_feedbacks tf + JOIN cw_tasks t ON t.id = tf.task_id + JOIN cw_structural_elements se ON se.id = t.structural_element_id + WHERE tf.id = ?'; + $structuralElement = \DBManager::get()->fetchOne($sql, [$this->getId()]); + if (!count($structuralElement)) { + return null; + } + + return StructuralElement::build($structuralElement, false); + } +} |
