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 事物处理