继承---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!!!











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

(详细)Hibernate框架的搭建,Hibernate的CRUD操作(一)

一、框架概述: 框架的优点:开发速度快,规范 后台框架:Hibernate,MyBATIS(iBATIS),EJB 前台框架(MVC):Struts(1/2),SpringMVC,JSF Sp...
  • u014078192
  • u014078192
  • 2014年05月04日 15:27
  • 1151

LabVIEW面向对象之如何使用父类的属性值

在面向对象中子类可以继承父类的属相和方法,在C++语言中继承父类的属性很简单,但在LabVIEW中继承父类的属相需要一定的方法。方法需要首先使用父类的读属性值方法,将其父类属性读取出来,然后才可以使用...
  • yue1453544229
  • yue1453544229
  • 2016年09月12日 10:07
  • 1943

C++继承(1) - 基类哪些数据会被子类继承下来?

1.子类会从基类继承下来的所有数据 1) 基类中的每个数据成员(尽管子类不一定都能访问!) 2) 基类中的每个普通成员函数(尽管子类不一定都能访问!) 3) 与基类相同的初始数据层 2.子类不会...
  • shltsh
  • shltsh
  • 2015年05月25日 01:37
  • 1936

常用的PHP数据库操作方法(MYSQL版)

常用的PHP数据库操作方法(MYSQL版) 一、数据库操作 1. 连接MYSQL数据 mysql_connect() e.g. $db = mysql_connect(MYSQL_HOST,...
  • gavinyyb
  • gavinyyb
  • 2015年06月19日 08:52
  • 214

oracle使用存储过程插入文件至数据库操作方法

  • 2017年06月20日 17:09
  • 7KB
  • 下载

thinkphp5数据库操作方法小结

一.TP5数据库操作方法     1.name()方法         作用 : 指定默认的数据表名(不含前缀)         示例 : Db::name('weiba_post');...
  • qq_27229113
  • qq_27229113
  • 2018年01月16日 15:56
  • 5

Discuz 数据库操作方法

函数 功能 DB::table($tablename) 获取正确带前缀的表名,转换数据库句柄DB::delete($tablename, 条件,条数限制) 删除表中的数据DB::inser...
  • aa97257540
  • aa97257540
  • 2015年04月08日 16:31
  • 772

thinkphp5数据库操作方法小结

一.TP5数据库操作方法     1.name()方法         作用 : 指定默认的数据表名(不含前缀)         示例 : Db::name('weiba_post');...
  • Lovehmm
  • Lovehmm
  • 2016年12月27日 09:23
  • 9588

django基础之数据库操作方法(详解)

1:创建工程创建mysite工程项目:?1E:/WWWROOT/python/> django-admin.py startproject mysite当然,前提是你已经设置好了python的环境变量...
  • liuyq859
  • liuyq859
  • 2018年01月02日 16:16
  • 102

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

http://www.u3dchina.com/forum.php?mod=viewthread&tid=323 很多同学用到这样方法导出时无法实现操作数据库,由于U3D对dll支持并不是很完美,这...
  • aa1287537617
  • aa1287537617
  • 2014年11月05日 19:18
  • 300
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:继承---Mage_core_model_mysql4_abstract的类的数据库操作方法------------继承Mage_core_model_mysql4_collection_abstract的类的的数据库操作方法
举报原因:
原因补充:

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