继承---Mage_core_model_mysql4_abstract的类的数据库操作方法------------继承Mage_core_model_mysql4_collection_abstract的类的的数据库操作方法

原创 2011年01月14日 01:33:00

继承Mage_core_model_mysql4_abstract.php的class

里面的函数操作数据库:
1
查询:
$select = $this->_getReadAdapter()->select()
            ->from($this->getTable('profile/profile_store'))
            ->where('profile_id = ?', $object->getId());
$data = $this->_getReadAdapter()->fetchAll($select);
$data是个数组。
2
删除语法例子:

$condition = $this->_getWriteAdapter()->quoteInto('profile_id = ?', $object->getId());
$this->_getWriteAdapter()->delete($this->getTable('profile/profile_store'), $condition);
3
插入数据的例子:
$storeArray = array();
            $storeArray['profile_id'] = $object->getId();
            $storeArray['store_id'] = $store;
            $this->_getWriteAdapter()->insert($this->getTable('profile/profile_store'), $storeArray);


4
重新得到!!select object------>zend_Db_select!!
 /**
     * Retrieve select object for load object data
     *
     * @param string $field
     * @param mixed $value
     * @return Zend_Db_Select
     */
    protected function _getLoadSelect($field, $value, $object)
    {
        $select = parent::_getLoadSelect($field, $value, $object);

        if ($object->getStoreId()) {
            $select->join(
                        array('cps' => $this->getTable('profile/profile_store')),
                        $this->getMainTable().'.profile_id = `cps`.profile_id'
                    )
                    ->where('is_active=1 AND `cps`.store_id in (' . Mage_Core_Model_App::ADMIN_STORE_ID . ', ?) ',

$object->getStoreId())
                    ->order('store_id DESC')
                    ->limit(1);
        }
        return $select;
    }


************************************************************************************
继承
Mage_Core_Model_Mysql4_Collection_Abstract的类里面的函数操作数据库
collection。

1
$select = $this->getConnection()->select()
                        ->from($this->getTable('profile/profile_store'))
                        ->where($this->getTable('profile/profile_store').'.profile_id IN (?)', $items);

$result = $this->getConnection()->fetchPairs($select)

//
/**
     * Fetches all SQL result rows as an array of key-value pairs.
     *
     * The first column is the key, the second column is the
     * value.
     *
     * @param string|Zend_Db_Select $sql An SQL SELECT statement.
     * @param mixed $bind Data to bind into SELECT placeholders.
     * @return array
     */
    public function fetchPairs($sql, $bind = array()

result为数组。

2
  $this->getSelect()->join(
                array('store_table' => $this->getTable('profile/profile_store')),
                'main_table.profile_id = store_table.profile_id',
                array()
            )
            ->where('store_table.store_id in (?)', ($withAdmin ? array(0, $store) : $store))
            ->group('main_table.profile_id');

通过getSelect()方法:@return Varien_Db_Select
$this->getConnection()->select(),得到的也是Varien_Db_Select
但是getSelect加上了一些数据的初始化过程,故在join这方面的操作,要使用getSelect()得到Varien_db_select方法。



明天研究Mage_core_model_mysql4_abstract和Mage_core_model_mysql4_collection_abstract这两个系统class!!!











版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

最新 ASP.net+Unity3D完美实现数据库操作方法(已测通过各个平台)

http://www.u3dchina.com/forum.php?mod=viewthread&tid=323 很多同学用到这样方法导出时无法实现操作数据库,由于U3D对dll支持并不是很完美,这...

thinkphp5数据库操作方法小结

一.TP5数据库操作方法     1.name()方法         作用 : 指定默认的数据表名(不含前缀)         示例 : Db::name('weiba_pos...

Discuz 数据库操作方法

函数 功能 DB::table($tablename) 获取正确带前缀的表名,转换数据库句柄DB::delete($tablename, 条件,条数限制) 删除表中的数据DB::inser...

Discuz!X/数据库操作方法

函数 功能 DB::table($tablename) 获取正确带前缀的表名,转换数据库句柄, DB::delete($tablename, 条件,条数限制) 删除表中的数据...

将分区表导入无分区的数据库操作方法

测试环境:oracle Release 10.2.0.1.0 , 建分区数据oracle_sid=ascii ,  无分区数据库oracle_sid=ocp10g 1.在ascii数据库中建立3个t...

NaviCat Primium远程连接Oracle 11g数据库操作方法

本文介绍了NaviCat实现远程访问数据库的方法,以及NaviCat的破解方法。都是使用现成的软件完成,实用性较强。

C# 连接SQL数据库、常用的连接字符串讲解、常用的数据库操作方法

using System;    using System.Collections.Generic;    using System.Text;    using System.Data.SqlCli...

YII Framework学习教程-YII的Model-数据库操作4-<Query Builder>翻译

Query Builder查询生成器 The Yii Query Builder provides an object-oriented way of writing SQL stateme...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)