Search code examples
mysqlcollectionsmagento-1.9

Magento 1.9 join query


I am trying to build a custom grid with a custom query with joins. I will try to explain my problem as simple and thorough as I can.

The one thing i can't figure is why my left join does not work. It only gives me a blank page with the title of my custom grid. This is the line where i try to make the join:

// sales_flat_order_payment
->joinLeft(array('sfop' => 'sales/order_payment'), 'sfoa.parent_id = sfop.parent_id WHERE main_table.base_price > \'0.000\'', array(
'PaymentMethod'       => 'method'))

When i make the line like: (without left in it)

->join(array(...

It does work but it automatically makes it a INNER JOIN. I also have tried these but none of them works: →joinInner() →joinLeft() →joinRight() →joinFull() →joinCross() →joinNatural()

The functions are defined in this file: lib/Zend/Db/Select.php

I would very much appreciate if someone could help me or advice what to do.

Greetings, Roy


Solution

  • After searching and trying different methods i found one that works. Here is what i used to make a join left:

    $collection->getSelect()->joinLeft(
        array('sfop' => 'sales/order_payment'), 'sfoa.parent_id = sfop.parent_id WHERE main_table.base_price > \'0.000\'', array(
    'PaymentMethod'       => 'method'))