/** * @param int $type * @return string */ protected static function resolveCampaignTypeSubQuery($type) { assert('is_int($type)'); $quote = DatabaseCompatibilityUtil::getQuote(); $where = null; $campaignItemTableName = CampaignItem::getTableName(); $campaignItemActivityTableName = CampaignItemActivity::getTableName(); $emailMessageActivityTableName = EmailMessageActivity::getTableName(); $selectQueryAdapter = new RedBeanModelSelectQueryAdapter(); $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('CampaignItemActivity'); $selectQueryAdapter->addClauseByQueryString("1"); $joinTablesAdapter->addFromTableAndGetAliasName($emailMessageActivityTableName, 'emailmessageactivity_id', $campaignItemActivityTableName); $where = "type = " . $type . " and {$quote}{$campaignItemActivityTableName}{$quote}" . ".campaignitem_id = {$quote}{$campaignItemTableName}{$quote}.id"; $sql = SQLQueryUtil::makeQuery($campaignItemActivityTableName, $selectQueryAdapter, $joinTablesAdapter, null, 1, $where); return $sql; }