Magento自定义查询sql
· //select query
· $read = Mage::getSingleton('core/resource')->getConnection('core_read');
· //make connection
· $qry = "select name FROM user_data WHERE id=1 LIMIT 1 "; //query
· $res = $read->fetchRow($qry); //fetch row
· $name = $res['name']; //outputs name
· //other form
· $qry = "select name FROM user_data WHERE namer LIKE '%a%' ";//query
· $res = $read->fetchAll($qry); //get array
· //Insert query
· $write = Mage::getSingleton('core/resource')->getConnection('core_write');
· $sql = "INSERT INTO user_data values (?,?)"; //insert query
· $write->query($sql, array('name','pass')); //write to database
magento运用模型进行数据操作,当然数据模型必须要先建好,或者直接用系统里面已经有了的模型。
按主键来查找数据
$grid_order = Mage::getModel('ordertracker/tracker')->load($this->orderId);
$productimg = Mage::getModel('ordertracker/productimg')->getCollection()->addFieldToFilter('item_id', array('eq' => $itemsid))->addFieldToFilter('picn', array('eq' => $pic))->getFirstItem();
对象的addFieldToFilter条件可以自己定义
连表查询
$collection = Mage::getModel('ordertracker/tracker')->getCollection()->addOrder('entity_id','DESC');
$collection->getSelect()->joinLeft( array('itemz' => Mage::getSingleton('core/resource')->getTableName('ordertracker/info')), 'main_table.entity_id = itemz.order_id', array('itemz.*') );
$this->setCollection($collection);