public function assemble() { $assembled = parent::assemble(); /** @var $logger Logger_Application_Logger */ $logger = Zend_Registry::get('logger'); $logger->log(__CLASS__ . ":: " . $assembled, "system", Zend_log::DEBUG); return $assembled; }
/** * Performs a validation on the select query before passing back to the parent class. * Ensures that only columns from the primary Zend_Db_Table are returned in the result. * * @return string|null This object as a SELECT string (or null if a string cannot be produced) */ public function assemble() { $fields = $this->getPart(Zend_Db_Table_Select::COLUMNS); $primary = $this->_info[Zend_Db_Table_Abstract::NAME]; $schema = $this->_info[Zend_Db_Table_Abstract::SCHEMA]; if (count($this->_parts[Zend_Db_Table_Select::UNION]) == 0) { // If no fields are specified we assume all fields from primary table if (!count($fields)) { $prefix = $this->_info[Axis_Db_Table_Abstract::PREFIX]; $shortPrimary = substr($primary, strlen($prefix)); $this->from($shortPrimary, Zend_Db_Table_Select::SQL_WILDCARD, $schema); $fields = $this->getPart(Zend_Db_Table_Select::COLUMNS); } $from = $this->getPart(Zend_Db_Table_Select::FROM); if ($this->_integrityCheck !== false) { foreach ($fields as $columnEntry) { list($table, $column) = $columnEntry; // Check each column to ensure it only references the primary table if ($column) { if (!isset($from[$table]) || $from[$table]['tableName'] != $primary) { require_once 'Zend/Db/Table/Select/Exception.php'; throw new Zend_Db_Table_Select_Exception('Select query cannot join with another table'); } } } } } return parent::assemble(); }
/** * Standard Zend_Db_Select assemble * * @return string */ public function assemble() { return $this->select->assemble(); }