示例
我有一张表,它锁定了一个扩展板;一个扩展板has_many might_have
是否有可能在第一次访问might_have时预取锁?
(是的,我知道当我获得表时,我可以预取板子,它是锁的;只是想知道我是否必须这样做。)
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也能从数据库加载它的锁。
发布于 2016-07-29 20:22:32
IIUC,你有像这样的东西
my $board = $result->expansion_board;想要预取冲浪板的锁。在这种情况下,您可以使用带有prefetch attribute的search_related method
my $board = $result->search_related('expansion_board', undef, {
prefetch => 'locks',
})->single;或者你可以试试find_related method
my $board = $result->find_related('expansion_board', undef, {
prefetch => 'locks',
});https://stackoverflow.com/questions/38658494
复制相似问题