/** * @param Select $select * @return void */ protected function _addExtTablesToSelect(Select &$select) { foreach ($this->_extTables as $tableName => $info) { $select->joinInner($tableName, $info['joinCondition'], $info['fields']); } }
/** * @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; }
/** * @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; }