Puede alguien decirme cómo hacer una unión dentro de MagentoMagento usando unirse a grid.php prepareCollection
Aquí está el 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.*'));
?>
que estoy tratando de hacer una unan a la mesa donde faqcat utilizo la clave faqcat_id.
futher Quiero que faqcat.name + faq.faq_id se seleccionen porque estos son los valores que deseo usar en las columnas.
<?
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',
));
}
?>
1000 después de probar combinaciones no sé qué más hacer ... ¿quién está dispuesto a
ayudar a esta es la función 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();
}
?>
Para que quede claro que esto es el sql quiero tener, pero luego el camino Magento
<?//kleurtjes
SELECT faq.faq_id as id, faqcat_name as name
FROM faq
JOIN faqcat
USING ('faqcat_id')
?>
Sintaxis alternativa para obtener la selección como una cadena [(cadena) $ collection-> getSelect()]. Los resultados son la misma cosa, pero algunas personas encuentran la sintaxis más limpia. –
usando "__toString()" parece un poco más robusto, aunque typecatsing to string funciona efectivamente el mismo –
También podría usar "echo $ collection-> getSelect()" – simonthesorcerer