Onex estore实例化model三种方法

Estore实例化model三种方法如下:

第一种获取本app的model:(在本APP的controller可用)

$model=$this->app->model('$model'); 

$model=$this->app->model('goods'); 

第二种获取其他app的model:

$model=app::get('b2c')->model('$model');#$model同上

$model=app::get('b2c')->model('goods');

第三种更通用的方法kernel::single():

$model=kernel::single(b2c_mdl_$model);

$model=kernel::single('b2c_mdl_goods'); 

二:操作数据库方法

#顶层封装文件在app_base_lib_db_connections文件中可参考

2.1在model中获取数据库操作对象

    2.1.1通过调用基类成员变量$db

      $result=$this->db->select($sql); #注model要继承base_db_model或者dbeav_model

    2.1.2通过kernel::database()直接获取数据库操作对象

        $result=kernel::database->select($sql);

2.2具体方法如下:

exec(query) 执行sql语句  #query为别名

select      对数据库表进行select

selectrow    返回单行数据

selectlimit  与select函数差不多,区别在于用selectlimit不需要手拼limit

gerRows      通过mysql结果集连接标识,获取单/多行数据

quote   对准备入数据库表字段的数据转义

lastinsertid  获取最后插入数据库的条目的id号

affect_row  获取之前mysql语句操作所影响的行数

model常用方法二

count   通过过滤器,取得对应表的数据行数

getList  获取model对应表的单/多行数据,可根据需要重载

dump  获取model对应表单行数据

insert   插入单行数据,会根据dbschema的type做转义处理,返回影响的行数

save    保存数据,如果数据存在则做更新处理

updata 根据更新数据

delete  根据条件删除数据

beginTransaction,commit,rollBack  事物处理