Fixed the bind value column names in the SQL literal + bind examples.
Norbert Buchmuller [Wed, 2 Sep 2009 03:30:35 +0000 (05:30 +0200)]
lib/DBIx/Class/Manual/Cookbook.pod
lib/DBIx/Class/Manual/FAQ.pod

index 6aa9f31..7885f15 100644 (file)
@@ -423,19 +423,24 @@ specification as you would any column:
 With quoting on, or for a more portable solution, use literal SQL values with
 placeholders:
 
-  $rs->search(\[ 'YEAR(date_of_birth) = ?', [ dummy => 1979 ] ]);
+  $rs->search(\[ 'YEAR(date_of_birth) = ?', [ date_of_birth => 1979 ] ]);
 
   # Equivalent SQL:
   # SELECT * FROM employee WHERE YEAR(date_of_birth) = ?
 
   $rs->search({
     name => 'Bob',
-    -nest => \[ 'YEAR(date_of_birth) = ?', [ dummy => 1979 ] ],
+    -nest => \[ 'YEAR(date_of_birth) = ?', [ date_of_birth => 1979 ] ],
   });
 
   # Equivalent SQL:
   # SELECT * FROM employee WHERE name = ? AND YEAR(date_of_birth) = ?
 
+Note: the C<date_of_birth> string in the C<< [ date_of_birth => 1979 ] >> part
+should be the same as the name of the column. It is used by L<DBIx::Class> to
+handle special column types. (If no column is involved in your expression, just
+invent a column name.)
+
 See also L<SQL::Abstract/Literal SQL with placeholders and bind values
 (subqueries)>.
 
index cf75fd2..b21fd3a 100644 (file)
@@ -247,7 +247,12 @@ documentation for details.
 
 To use an SQL function on the left hand side of a comparison:
 
- ->search({ -nest => \[ 'YEAR(date_of_birth) = ?', [ dummy => 1979 ] ] });
+ ->search({ -nest => \[ 'YEAR(date_of_birth) = ?', [ date_of_birth => 1979 ] ] });
+
+Note: the C<date_of_birth> string in the C<< [ date_of_birth => 1979 ] >> part
+should be the same as the name of the column. It is used by L<DBIx::Class> to
+handle special column types. (If no column is involved in your expression, just
+invent a column name.)
 
 Or, if you have quoting off: