fix example class name in documentation
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / ResultSource / View.pm
index 5995790..652ba3c 100644 (file)
@@ -4,10 +4,10 @@ use strict;
 use warnings;
 
 use base 'DBIx::Class::ResultSource';
-use mro 'c3';
 
-__PACKAGE__->mk_group_accessors(
-    'simple' => qw(is_virtual view_definition deploy_depends_on) );
+__PACKAGE__->mk_group_accessors( rsrc_instance_specific_attribute => qw(
+  is_virtual view_definition deploy_depends_on
+));
 
 =head1 NAME
 
@@ -22,8 +22,8 @@ DBIx::Class::ResultSource::View - ResultSource object representing a view
   __PACKAGE__->table_class('DBIx::Class::ResultSource::View');
 
   __PACKAGE__->table('year2000cds');
-  __PACKAGE__->result_source_instance->is_virtual(1);
-  __PACKAGE__->result_source_instance->view_definition(
+  __PACKAGE__->result_source->is_virtual(1);
+  __PACKAGE__->result_source->view_definition(
       "SELECT cdid, artist, title FROM cd WHERE year ='2000'"
   );
   __PACKAGE__->add_columns(
@@ -50,6 +50,11 @@ A view has a L</view_definition>, which contains a SQL query. The query can
 only have parameters if L</is_virtual> is set to true. It may contain JOINs,
 sub selects and any other SQL your database supports.
 
+For virtual views the column names returned by the view definition SQL
+must match the names in
+L<add_columns|DBIx::Class::ResultSource/add_columns>, while for
+non-vritual views the order must match.
+
 View definition SQL is deployed to your database on
 L<DBIx::Class::Schema/deploy> unless you set L</is_virtual> to true.
 
@@ -62,8 +67,8 @@ case replaces the view name in a FROM clause in a subselect.
 
 =head1 EXAMPLES
 
-Having created the MyApp::Schema::Year2000CDs schema as shown in the SYNOPSIS
-above, you can then:
+Having created the MyApp::Schema::Result::Year2000CDs schema as shown in the
+SYNOPSIS above, you can then:
 
   $y2000_cds = $schema->resultset('Year2000CDs')
                       ->search()
@@ -74,13 +79,13 @@ above, you can then:
 
 If you modified the schema to include a placeholder
 
-  __PACKAGE__->result_source_instance->view_definition(
+  __PACKAGE__->result_source->view_definition(
       "SELECT cdid, artist, title FROM cd WHERE year = ?"
   );
 
 and ensuring you have is_virtual set to true:
 
-  __PACKAGE__->result_source_instance->is_virtual(1);
+  __PACKAGE__->result_source->is_virtual(1);
 
 You could now say:
 
@@ -114,14 +119,14 @@ You could now say:
 
 =head2 is_virtual
 
-  __PACKAGE__->result_source_instance->is_virtual(1);
+  __PACKAGE__->result_source->is_virtual(1);
 
 Set to true for a virtual view, false or unset for a real
 database-based view.
 
 =head2 view_definition
 
-  __PACKAGE__->result_source_instance->view_definition(
+  __PACKAGE__->result_source->view_definition(
       "SELECT cdid, artist, title FROM cd WHERE year ='2000'"
       );
 
@@ -130,7 +135,7 @@ syntaxes.
 
 =head2 deploy_depends_on
 
-  __PACKAGE__->result_source_instance->deploy_depends_on(
+  __PACKAGE__->result_source->deploy_depends_on(
       ["MyApp::Schema::Result::Year","MyApp::Schema::Result::CD"]
       );