加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

database – DBIx :: Class获取dbh

发布时间:2020-12-15 21:47:00 所属栏目:大数据 来源:网络整理
导读:我正在建设的 Catalyst应用程序中使用 DBIx::Class.它工作得很好,但有时我需要使用我自己开发的自己的db函数,这些函数非常符合我的需求.因此,我需要一个dbh.但是,因为我已经在使用DBIx :: Class,所以我知道它已经使用了dbh.为了避免与数据库建立另一个不必要
我正在建设的 Catalyst应用程序中使用 DBIx::Class.它工作得很好,但有时我需要使用我自己开发的自己的db函数,这些函数非常符合我的需求.因此,我需要一个dbh.但是,因为我已经在使用DBIx :: Class,所以我知道它已经使用了dbh.为了避免与数据库建立另一个不必要的连接,我想使用DBIx :: Class已经创建的dbh.我知道 DBIx::Class::Storage::DBI模块有两个方法dbh和dbh_do,但我不确定两者之间的区别是什么,如果它们是访问dbh的最佳方式.任何人都可以告诉我从DBIx :: Class获取dbh的最佳方法是在Catalyst应用程序中吗?我更喜欢一种方法,我可以将其存储在存储区中,如下所示:
sub dbh :Private { 
    my ($self,$c) = @_;
    $c->stash->{dbh} = #get dbh from DBIx::Class here
}

谢谢!

解决方法

我总是要看一下.假设您有一个架构对象的实例,您可以通过存储方法获取其Storage对象.假设这是一个 Storage::DBI,那么有一个 dbh方法可用于获取数据库句柄.所以:
my $dbh = $c->model( 'My::DB' )->storage->dbh;

应该做的伎俩.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读