Hello Every One
Please any body help to create a sql query to magento collection or simple convert the below sql query to magento query.
$query = "SELECT name AS name, NULL as productname FROM `catalog_product_flat_1` a WHERE ( a.name LIKE '%".$filter."%' ) UNION ALL SELECT NULL , productname AS productname FROM `Offlinedb` b WHERE ( b.productname LIKE '%".$filter."%' )";
Thanks
<?php class Webkul_Productsearch_Block_Productsearch extends Mage_Catalog_Block_Product_Abstract{ public function __construct() { parent::__construct(); // $collectionfetch = Mage::getModel('Offlinedb/Offlinedb')->getCollection(); if ($filter = $this->getRequest()->getParam('q')) { $resource = Mage::getSingleton('core/resource'); $readConnection = $resource->getConnection('core_read'); $writeConnection = $resource->getConnection('core_write'); $offlinedb = $resource->getTableName('Offlinedb'); $prodTable = $resource->getTableName('catalog_product_flat_1'); $query = "SELECT name AS name, NULL as productname FROM `catalog_product_flat_1` a WHERE ( a.name LIKE '%".$filter."%' ) UNION ALL SELECT NULL , productname AS productname FROM `Offlinedb` b WHERE ( b.productname LIKE '%".$filter."%' )"; //$query = "SELECT name from ".$prodTable." where name like '%".$filter."%' "; $collection = $readConnection->fetchall($query); } $this->setCollection($collection); } protected function _prepareLayout() { parent::_prepareLayout(); $pager = $this->getLayout()->createBlock('page/html_pager', 'custom.pager'); $pager->setAvailableLimit(array(10=>10,20=>20,30=>30,'all'=>'all')); $pager->setCollection($this->getCollection()); $this->setChild('pager', $pager); $this->getCollection()->load(); return $this; } public function getPagerHtml() { return $this->getChildHtml('pager'); } }
Here is the total code..
And please check the error below.
Fatal error: Call to a member function setCurPage() on a non-object in app/code/core/Mage/Page/Block/Html/Pager.php on line 140
But when I use the single collection
$collectionfetch = Mage::getModel('Offlinedb/Offlinedb')->getCollection();
its working fine but I need to search from two tables ..
Please help ...
Thanks