44 lines
1.0 KiB
PHP
44 lines
1.0 KiB
PHP
|
<?php
|
||
|
namespace Bdp\Modules\EventParticipants\Models;
|
||
|
|
||
|
use Bdp\Libs\CommonModel;
|
||
|
|
||
|
class Event extends CommonModel {
|
||
|
public static function loadById(int $event_id) : Event {
|
||
|
|
||
|
|
||
|
global $dbHandler;
|
||
|
|
||
|
$data = $dbHandler->readFromDb('kompass_veranstaltungen_index', ['id' => $event_id]);
|
||
|
$class = new Event();
|
||
|
$class->groups = ['participant' => [], 'volunteer' => [], 'other' => []];
|
||
|
|
||
|
|
||
|
foreach (get_object_vars($data[0]) as $key => $value) {
|
||
|
$class->$key = $value;
|
||
|
}
|
||
|
|
||
|
foreach (EventParticipant::list_for_event($event_id) as $participant) {
|
||
|
$class->groups[$participant->teilnahme][] = $participant;
|
||
|
}
|
||
|
|
||
|
|
||
|
foreach ($class->groups as $group) {
|
||
|
foreach ($group as $participant) {
|
||
|
if (!isset($class->tribes[$participant->stamm])) {
|
||
|
$class->tribes[$participant->stamm] = [];
|
||
|
}
|
||
|
$class->tribes[$participant->stamm][] = $participant;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $class;
|
||
|
}
|
||
|
|
||
|
public function __construct() {
|
||
|
$this->_tablename = 'kompass_veranstaltungen_index';
|
||
|
$this->groups = [];
|
||
|
$this->tribes = [];
|
||
|
}
|
||
|
}
|