/** * @param Veranstaltung $veranstaltung * @param int $limit * @return array|AenderungsantragKommentar[] */ public static function holeNeueste($veranstaltung, $limit = 0) { $antrag_ids = array(); /** @var array|Antrag[] $antraege */ $antraege = Antrag::model()->findAllByAttributes(array("veranstaltung_id" => $veranstaltung->id)); foreach ($antraege as $a) { $antrag_ids[] = $a->id; } if (count($antrag_ids) == 0) { return array(); } $condition = array("order" => "datum DESC"); if ($limit > 0) { $condition["limit"] = $limit; } $unsichtbar = $veranstaltung->getAntragUnsichtbarStati(); $arr = AenderungsantragKommentar::model()->with(array("aenderungsantrag" => array("condition" => "aenderungsantrag.status NOT IN (" . implode(", ", $unsichtbar) . ") AND aenderungsantrag.antrag_id IN (" . implode(", ", $antrag_ids) . ")")))->findAllByAttributes(array("status" => AenderungsantragKommentar::$STATUS_FREI), $condition); return $arr; }
/** * @param Veranstaltung $veranstaltung * @param int $limit * @return array|Antrag[] */ public static function holeNeueste($veranstaltung, $limit = 5) { $oCriteria = new CDbCriteria(); $oCriteria->alias = "antrag"; $oCriteria->addCondition("antrag.veranstaltung_id = " . IntVal($veranstaltung->id)); $unsichtbar = $veranstaltung->getAntragUnsichtbarStati(); $unsichtbar[] = IAntrag::$STATUS_MODIFIZIERT; $oCriteria->addNotInCondition("antrag.status", $unsichtbar); $oCriteria->order = 'antrag.datum_einreichung DESC'; $dataProvider = new CActiveDataProvider('Antrag', array('criteria' => $oCriteria, 'pagination' => array('pageSize' => IntVal($limit)))); return $dataProvider->data; }
/** * @param Veranstaltung $veranstaltung * @param int $limit * @return array|AntragKommentar[] */ public static function holeNeueste($veranstaltung, $limit = 0) { $condition = array("order" => "datum DESC"); if ($limit > 0) { $condition["limit"] = $limit; } $unsichtbar = $veranstaltung->getAntragUnsichtbarStati(); $arr = AntragKommentar::model()->with(array("antrag" => array("condition" => "antrag.status NOT IN (" . implode(", ", $unsichtbar) . ") AND antrag.veranstaltung_id = " . IntVal($veranstaltung->id))))->findAllByAttributes(array("status" => AntragKommentar::$STATUS_FREI), $condition); return $arr; }