首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dbix might_have并在第一次访问时预取它的关系?

dbix might_have并在第一次访问时预取它的关系?
EN

Stack Overflow用户
提问于 2016-07-29 20:09:41
回答 1查看 95关注 0票数 0

示例

我有一张表,它锁定了一个扩展板;一个扩展板has_many might_have

是否有可能在第一次访问might_have时预取锁?

(是的,我知道当我获得表时,我可以预取板子,它是锁的;只是想知道我是否必须这样做。)

代码语言:javascript
复制
package Table;

__PACKAGE__->might_have("expansion_board", "ExpansionBoard",
{ "foreign.boardid" => "self.boardid" });

#etc.

package ExpansionBoard;

__PACKAGE__->has_many("locks","Lock",
{ "foreign.boardid" => "self.boardid" },
undef);

#etc.

package Lock;

#etc.

我最希望第一次访问时的$table->expansion_board也能从数据库加载它的锁。

EN

回答 1

Stack Overflow用户

发布于 2016-07-29 20:22:32

IIUC,你有像这样的东西

代码语言:javascript
复制
my $board = $result->expansion_board;

想要预取冲浪板的锁。在这种情况下,您可以使用带有prefetch attributesearch_related method

代码语言:javascript
复制
my $board = $result->search_related('expansion_board', undef, {
    prefetch => 'locks',
})->single;

或者你可以试试find_related method

代码语言:javascript
复制
my $board = $result->find_related('expansion_board', undef, {
    prefetch => 'locks',
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38658494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档