当前位置: 首页 > 工具软件 > PhalApi > 使用案例 >

PHP学习笔记——在phalapi框架内的orm数据库操作

宗政燕七
2023-12-01

今天将自己的聚合支付接口集成到了phal框架内,由于在phalapi框架内如何返回视图不知道,因此需要将原本的wap站点的sdk包转化为api资源。具体过程稍晚点记录,现在将phalapi框架内的数据库操作简单记录一下。

如何获取orm实例

在PhalApi中,全部数据库操作都要经过NotORM实例来进行,在PhalApi中获取NotORM实例,有两种方式:全局获取方式、局部获取方式。

全局获取

在任何地方,使用DI容器中的全局notorm服务:\PhalApi\DI()->notorm

第一种全局获取的方式,可以用于任何地方,这是因为我们已经在初始化文件中注册了\PhalApi\DI()->notorm这一服务。

			$bill = array(
                'trade_status' => $data['trade_status']
            );
            $orm = \PhalApi\DI()->notorm->bill;//bill为数据表名,去除了前缀tbl_
            return $id = $orm->insert($bill);//这样即可在tbl_bill表中插入一条trade_status字段的记录

局部获取

在继承PhalApi\Model\NotORMModel的子类中使用:$this->getORM()

第二种局部获取的方式,仅限用于继承PhalApi\Model\NotORMModel的子类中。首先需要实现相应的Model子类,通常一个表对应一个Model子类。例如为user表创建相应的Model类。

class User extends NotORM {
    public function doSth() {
        // 局部获取
        $orm = $this->getORM(); 
    }
}

事实上,只要获取了orm实例,那么涉及到数据库的基本操作便没有其他太大的问题了。而关于框架内model类与数据表的对应关系大家可以查阅官网http://docs.phalapi.net文档,这里不再赘述,orm的特性大家也可以到orm官网查看。

 类似资料: