예제 #1
0
 /**
  * @param Select $select
  * @return void
  */
 protected function _addExtTablesToSelect(Select &$select)
 {
     foreach ($this->_extTables as $tableName => $info) {
         $select->joinInner($tableName, $info['joinCondition'], $info['fields']);
     }
 }
예제 #2
0
 /**
  * @param Select $query
  * @param Table $previousResultTable
  * @param ScoreBuilder $scoreBuilder
  * @return Select
  * @throws \Zend_Db_Exception
  */
 private function joinPreviousResultToSelect(Select $query, Table $previousResultTable, ScoreBuilder $scoreBuilder)
 {
     $query->joinInner(['previous_results' => $previousResultTable->getName()], 'previous_results.entity_id = search_index.entity_id', []);
     $scoreBuilder->addCondition('previous_results.score', false);
     $query->columns($scoreBuilder->build());
     $query = $this->createAroundSelect($query, $scoreBuilder);
     return $query;
 }
예제 #3
0
 /**
  * @param \Magento\Framework\DB\Select $select
  * @return \Magento\Framework\DB\Select
  */
 protected function getCustomerNames($select)
 {
     $attrFirstname = $this->_customerResource->getAttribute('firstname');
     $attrFirstnameId = (int) $attrFirstname->getAttributeId();
     $attrFirstnameTableName = $attrFirstname->getBackend()->getTable();
     $attrLastname = $this->_customerResource->getAttribute('lastname');
     $attrLastnameId = (int) $attrLastname->getAttributeId();
     $attrLastnameTableName = $attrLastname->getBackend()->getTable();
     $select->joinInner(['cust_fname' => $attrFirstnameTableName], 'customer.entity_id = cust_fname.entity_id', ['firstname' => 'cust_fname.value'])->joinInner(['cust_lname' => $attrLastnameTableName], 'customer.entity_id = cust_lname.entity_id', ['lastname' => 'cust_lname.value'])->where('cust_fname.attribute_id = ?', (int) $attrFirstnameId)->where('cust_lname.attribute_id = ?', (int) $attrLastnameId);
     return $select;
 }