Qualcuno può dirmi come fare un join entro MagentoMagento utilizzando partecipare grid.php prepareCollection
Qui è il problema:
<?//kleurtjes
$collection= Mage::getModel('faq/faq')->getCollection();
$collection->getSelect()->join(array('faqcat' => $this->getTable('faqcat/faqcat')), 'faqcat.faqcat_id=faq.faqcat_id' , array('faqcat.*'));
?>
Sto cercando di fare un join con la tabella in cui faqcat io uso la chiave faqcat_id.
voglio che quel nome faqcat.name + faq.faq_id venga selezionato perché questi sono i valori che voglio usare nelle colonne.
<?
protected function _prepareColumns()
{
$this->addColumn('faq_id', array(
'header' => Mage::helper('faq')->__('ID'),
'align' =>'right',
'width' => '50px',
'index' => 'faq_id',
));
$this->addColumn('name', array(
'header' => Mage::helper('faqcat')->__('Titel'),
'align' =>'left',
'index' => 'name',
));
}
?>
dopo aver provato 1000 combinazioni io non so più cosa fare ... chi è disposto ad aiutarmi
questa è la funzione completa:
<?
protected function _prepareCollection()
{
$collection= Mage::getModel('faq/faq')->getCollection();
//$collection->getSelect()->join(array('faqcat' => $this->getTable('faqcat/faqcat')), 'faqcat.faqcat_id=faq.faqcat_id' , array('faqcat.*'));
$id = Mage::getModel('customer/session')->getCustomer()->getId();
$this->setCollection($collection);
// }
return parent::_prepareCollection();
}
?>
Giusto per essere chiari questo è sql voglio avere, ma poi il modo in cui Magento
<?//kleurtjes
SELECT faq.faq_id as id, faqcat_name as name
FROM faq
JOIN faqcat
USING ('faqcat_id')
?>
Sintassi alternativa per ottenere la selezione come stringa [(stringa) $ raccolta-> getSelect()]. I risultati sono la stessa cosa, ma alcune persone trovano il pulitore della sintassi. –
utilizzando "__toString()" sembra un po 'più robusto, anche se il typecatsing della stringa funziona in modo efficace lo stesso –
Puoi anche usare semplicemente "echo $ collection-> getSelect()" – simonthesorcerer