Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as PHP by Evgeny ( 17 years ago )
function getActiveAnketas()
{
/* При изменении метода проверь Anketa::isActive() ! */
$q=Doctrine_Query::create()
->select('a.*, alw.*, COUNT(alw.id) linked_with_count')
->from('Anketa a, a.LinkedWith alw, a.Categories c, a.Type t')
->where('c.id=?',$this->id)
;
$q=Doctrine::getTable('Anketa')->addIsActiveConditions($q);
//Если среди отображаемых типов анкет есть групповые типы, то не-групповые анкеты не отображаем.
foreach ($this->AnketaTypes as $type)
{
if ($type->is_multiple)
{
$q->andWhere('t.is_multiple=?',true);
//TODO для multiple-анкет: проверить, что минимальное число дочерних анкет набрано!
$q->andWhere('alw.status=?','on')
->andWhere('linked_with_count>=t.min_linked_with_count');
break;
}
}
return $q->execute();
}
Revise this Paste
Children: 12087