assemble() public method

Ensures that only columns from the primary Zend_Db_Table are returned in the result.
public assemble ( ) : string | null
return string | null This object as a SELECT string (or null if a string cannot be produced)
Example #1
0
 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;
 }
Example #2
0
 /**
  * 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();
 }