DBIx和任意SQL通过自定义ResultSource

时间:2012-01-20 09:52:14

标签: perl dbix-class

我按照Arbitrary SQL through a custom ResultSource中的说明操作时出现问题,因为它给我的错误为Can't locate object method "result_source_instance"

幸运的是,我在perlmonk answer找到了解决方案。确实如此:

package Dir::Dir::ComplexQuery;

use strict;
use warnings;

use base 'DBIx::Class::Core';

__PACKAGE__->table('dummy_table_name');
__PACKAGE__->add_columns(qw/col1 col2 col3/);
__PACKAGE__->result_source_instance->name(\q!(select complex query blah blah ... )! );

我通常可以...->resultset('ComplexQuery')->search();

我的问题如下:

  1. 功能table是来自DBIx::Class::ResultSourceProxy::Table的{​​{3}},对吗?我正在使用DBIx::Class::Schema::Loader所以我自己从未创建过DBIx“类表”。
  2. __PACKAGE__->table('table_name')触发创建此表(在这种情况下,它是一个视图)到实际的数据库,对吗?或者是否有创建视图的场景
  3. 在哪个DBIx包中定义了result_source_instance?我做了搜索,但我找不到它 - 也许我没有找到正确的方式。

0 个答案:

没有答案