public static function fetch(Connection $conn, $id) { $data = $conn->fetchAssoc('SELECT g.*, ' . self::createEntityFieldList() . 'FROM `' . CoreTables::GROUP_TBL . '` g ' . self::createEntityJoin('g') . 'WHERE g.`id` = :id', [':id' => $id]); if (null === $data) { return false; } $item = Group::fromArray($data); $item->project = Project::fetchActive($conn, $data['projectId']); if (false === $item->project) { return false; } if (!empty($data['categoryId'])) { $item->category = GroupCategory::fetchByProject($conn, $data['categoryId'], $item->project); } $item->entity = Entity::fromArray($data, 'entity'); return $item; }