douxing8939 2011-02-17 16:43
浏览 28
已采纳

Magento:过滤getCollection不起作用

My getCollection code is providing the wrong query string (i think).

I have a table called banner which I can load all records from easy enough. When I try to filter it I'm getting errors.

Here is the code:

$banner = Mage::getModel('banner/banner')->getCollection()->addFieldToFilter('group', array('eq'=>'search_group'));

The page crashes and I get this error:

1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group = 'search_group')' at line 1";i:1;s

As you can see it seems like the code is messing up the quotes after group.

'group = 'search_group')'

Can anyone advice on how to fix this?

Thanks,

Billy

  • 写回答

3条回答 默认 最新

  • dongwan5381 2011-02-18 14:55
    关注

    group is an SQL keyword. If group is also an attribute name you'll need to escape it somehow. Try using backticks (the typically unused key below <kbd>Esc</kbd>).

    $banner = Mage::getModel('banner/banner')
        ->getCollection()
        ->addFieldToFilter('`group`', 'search_group');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?