简体   繁体   English

如何使用现有的 DBIx::Class::Schema 设置创建“元”模型?

[英]How can I create “meta” models using my existing DBIx::Class::Schema setup?

I have a bunch of tables mapped to ->resultset('User') and 'Tag' etc我有一堆表映射到 ->resultset('User') 和 'Tag' 等

How can I create resultset classes for querying across multiple resultset classes?如何创建结果集类以跨多个结果集类进行查询?

You can easily add (pseudo-code)–您可以轻松添加(伪代码)-

 $self->search_related(foreign)->search_related(original);

 $self->search_related(foreign)
  ->search_related(many_to_many_foreign)
  ->search_related(foreign)
  ->search_related(original);

–style chains to resultset classes. – 样式链到结果集类。 This allows you to correlate/collect related data—with or without arguments—while returning a resultset of the original type.这允许您在返回原始类型的结果集时关联/收集相关数据(带或不带参数)。 The following links give some excellent guidance.以下链接提供了一些极好的指导。 XUL isn't supported much of anywhere anymore but the plain text source is easy to read as “slides.” XUL 在任何地方都不再受支持,但纯文本源很容易作为“幻灯片”阅读。 Some of the examples speak directly to what you're after.一些例子直接说明了你所追求的。

So, it sounds like you basically want to create a virtual view (joining your tables, etc) right?所以,听起来你基本上想创建一个虚拟视图(加入你的表等),对吧?

Check out DBIx::Class::ResultSource::View if so.如果是,请查看DBIx::Class::ResultSource::View It'll allow you to create a virtual view resultsource, that can then be expressed through a resultset.它将允许您创建一个虚拟视图结果源,然后可以通过结果集表示。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM