Exemple #1
0
 public function getEventsOnSameDay()
 {
     $other_events = array();
     if (!$this->getEtimes()) {
         return $other_events;
     }
     $where = "";
     foreach ($this->getEtimes() as $etime) {
         if ($where == "") {
             $where = "AND (";
             $where .= " etime.start_date::date = '{$etime->getStartDate()}'::date";
         } else {
             $where .= " OR etime.start_date::date = '{$etime->getStartDate()}'::date";
         }
         $where .= " OR etime.end_date::date = '{$etime->getEndDate()}'::date";
     }
     $where .= ") ";
     $conn = Propel::getConnection();
     $query = "SELECT DISTINCT ON (event.title) * " . "FROM event " . "JOIN etime ON (event.id = etime.event_id) " . "WHERE " . "event.id != {$this->getId()} " . "AND event.published = true " . "{$where}" . "ORDER BY event.title " . "";
     $stmt = $conn->prepareStatement($query);
     $resultset = $stmt->executeQuery(ResultSet::FETCHMODE_NUM);
     $other_events = EventPeer::populateObjects($resultset);
     return $other_events;
 }
Exemple #2
0
    public static function getTaggedEvents($tag)
    {
        $conn = Propel::getConnection();
        $query = '
      SELECT DISTINCT(%s.*)
      FROM %s as event
      LEFT OUTER JOIN %s event_tag ON (%s = %s)
      LEFT OUTER JOIN %s tag ON (%s = %s)
      LEFT OUTER JOIN %s etime ON (%s = %s)
      LEFT OUTER JOIN %s etime_tag ON (%s = %s)
      LEFT OUTER JOIN %s t ON (t.id = %s)
      WHERE
        tag.normalized_tag = ?
        OR
        t.normalized_tag = ?

    ';
        $query = sprintf($query, EventPeer::TABLE_NAME, EventPeer::TABLE_NAME, EventTagPeer::TABLE_NAME, EventPeer::ID, EventTagPeer::EVENT_ID, TagPeer::TABLE_NAME, TagPeer::ID, EventTagPeer::TAG_ID, EtimePeer::TABLE_NAME, EventPeer::ID, EtimePeer::EVENT_ID, EtimeTagPeer::TABLE_NAME, EtimePeer::ID, EtimeTagPeer::ETIME_ID, TagPeer::TABLE_NAME, EtimeTagPeer::TAG_ID);
        $stmt = $conn->prepareStatement($query);
        $stmt->setString(1, $tag);
        $stmt->setString(2, $tag);
        $resultset = $stmt->executeQuery(ResultSet::FETCHMODE_NUM);
        return EventPeer::populateObjects($resultset);
    }
 /**
  * Method to do selects.
  *
  * @param      Criteria $criteria The Criteria object used to build the SELECT statement.
  * @param      Connection $con
  * @return     array Array of selected Objects
  * @throws     PropelException Any exceptions caught during processing will be
  *       rethrown wrapped into a PropelException.
  */
 public static function doSelect(Criteria $criteria, $con = null)
 {
     return EventPeer::populateObjects(EventPeer::doSelectRS($criteria, $con));
 }