Clean up PostgreSQL array types recipe (amalgamation of 10e72c6e and 09380b06)
Dagfinn Ilmari Mannsåker [Thu, 11 Dec 2014 11:24:38 +0000 (11:24 +0000)]
- Prefer { -value => [ … ] } syntax over \[ '= ?', [colname => [ … ]] ]
- Reference SQLA -value docs instead of array_datatypes
- Add trailing comma in hashes
- Remove pointless 'day' key from update example

lib/DBIx/Class/Manual/Cookbook.pod

index 7c2c58e..cf80dd8 100644 (file)
@@ -1737,30 +1737,30 @@ L<DBIx::Class::ResultSet/create> and L<DBIx::Class::Row/update> family of
 methods:
 
   $resultset->create({
-    numbers => [1, 2, 3]
+    numbers => [1, 2, 3],
   });
 
-  $result->update(
-    {
-      numbers => [1, 2, 3]
-    },
-    {
-      day => '2008-11-24'
-    }
-  );
+  $result->update({
+    numbers => [1, 2, 3],
+  });
 
 In conditions (e.g. C<\%cond> in the L<DBIx::Class::ResultSet/search> family of
 methods) you cannot directly use array references (since this is interpreted as
 a list of values to be C<OR>ed), but you can use the following syntax to force
 passing them as bind values:
 
-  $resultset->search(
-    {
-      numbers => \[ '= ?', [numbers => [1, 2, 3]] ]
-    }
-  );
+  $resultset->search({
+    numbers => { -value => [1, 2, 3] },
+  });
+
+Or using the more generic (and more cumbersome) literal syntax:
+
+  $resultset->search({
+    numbers => \[ '= ?', [ numbers => [1, 2, 3] ] ]
+  });
+
 
-See L<SQL::Abstract/array_datatypes> and L<SQL::Abstract/Literal SQL with
+See L<SQL::Abstract/-value> and L<SQL::Abstract/Literal SQL with
 placeholders and bind values (subqueries)> for more explanation. Note that
 L<DBIx::Class> sets L<SQL::Abstract/bindtype> to C<columns>, so you must pass
 the bind values (the C<[1, 2, 3]> arrayref in the above example) wrapped in