Kann mir jemand sagen, wie man einmagento in grid.php mit beitreten prepareCollection
Hier in magento beitreten zu machen, ist das Problem:
<?//kleurtjes
$collection= Mage::getModel('faq/faq')->getCollection();
$collection->getSelect()->join(array('faqcat' => $this->getTable('faqcat/faqcat')), 'faqcat.faqcat_id=faq.faqcat_id' , array('faqcat.*'));
?>
i eine Join mit der Tabelle faqcat zu machen versuchen, wo Ich benutze den Schlüssel faqcat_id.
weiter ich möchte, dass faqcat.name + faq.faq_id ausgewählt werden cos dies sind die Werte, die ich in Spalten verwenden möchte.
<?
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',
));
}
?>
nach 1000 Kombinationen versuchen, ich weiß nicht mehr, was ich zu tun ..., der bereit ist, mir zu helfen
dies ist die komplette Funktion:
<?
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();
}
?>
nur klar zu sein, dies ist die sQL-i haben wollen, dann aber die Art und Weise magento
<?//kleurtjes
SELECT faq.faq_id as id, faqcat_name as name
FROM faq
JOIN faqcat
USING ('faqcat_id')
?>
Alternative Syntax zum Abrufen der Auswahl als Zeichenfolge [(Zeichenfolge) $ collection-> getSelect()]. Ergebnisse sind das gleiche, aber manche Leute finden die Syntax sauberer. –
mit "__toString()" scheint ein bisschen robuster, obwohl typecatsing zu string funktioniert effektiv die gleiche –
Sie könnten auch einfach "echo $ collection-> getSelect()" – simonthesorcerer