protected function createConstraint(Query $query, $queueName) { $constraints = array(); $constraints[] = $query->equals('queueName', $queueName); $constraints[] = $query->equals('state', Message::STATE_PUBLISHED); $constraints[] = $query->logicalOr($query->equals('starttime', 0), $query->lessThanOrEqual('starttime', time())); $query->matching($query->logicalAnd($constraints)); }