/** * Obtiene la lista de miembros de celula dado el id del lider, la lista * solo muestra los miembros que pueden habrir célula * @param integer $id_lider el Identificacor del lider * @return MiembroCelula Lista de miembros encontrados */ public function getMiembrosLideresPorLider($id_lider, $genero) { $q = new Doctrine_RawSql(); $q->select('d.*'); $q->from('miembro_celula mc inner join celula c on c.id = mc.celula_id inner join sf_guard_user d on mc.discipulo_id = d.id'); $q->where('c.discipulo_lider_id = ? OR d.tipo_discipulo = ?', array($id_lider, 4)); $q->andWhere('d.genero = ?', $genero); $q->addComponent('d', 'Discipulo d'); // $q->orWhere('d.tipo_discipulo = ?', 4); return $q->execute(); }
/** * Generate a messages collection containing all messages exchanged between the message sender and the recipient * @return */ function getMessageHistory() { // Use doctrine raw sql $q = new Doctrine_RawSql(); $q->select('{m.*}, {mr.*}'); $q->from('message m INNER JOIN messagerecipient mr ON (m.id = mr.messageid AND ISNULL(m.commentid))'); $q->where("(m.senderid = '" . $this->getSenderID() . "' AND mr.recipientid = '" . $this->getRecipient()->getID() . "') OR \n\t\t\t\t\t(m.senderid = '" . $this->getRecipient()->getID() . "' AND mr.recipientid = '" . $this->getSenderID() . "') ORDER BY m.datecreated ASC "); $q->addComponent('m', 'Message m'); $q->addComponent('mr', 'm.recipients mr'); $result = $q->execute(); // debugMessage($result->toArray()); return $result; }