| ... | ... |
@@ -1,4 +1,5 @@ |
| 1 | 1 |
0.1644 |
| 2 |
+ became more useful where method |
|
| 2 | 3 |
changed DBIx::Custom::Where greatly |
| 3 | 4 |
0.1633 |
| 4 | 5 |
fixed test |
| ... | ... |
@@ -1412,10 +1412,6 @@ B<Example:> |
| 1412 | 1412 |
|
| 1413 | 1413 |
Create a new L<DBIx::Custom::Where> object. |
| 1414 | 1414 |
|
| 1415 |
-=head2 C<experimental) build_where> |
|
| 1416 |
- |
|
| 1417 |
- |
|
| 1418 |
- |
|
| 1419 | 1415 |
=head2 C<(deprecated) default_bind_filter> |
| 1420 | 1416 |
|
| 1421 | 1417 |
my $default_bind_filter = $dbi->default_bind_filter; |
| ... | ... |
@@ -113,11 +113,15 @@ DBIx::Custom::Where - Where clause |
| 113 | 113 |
|
| 114 | 114 |
=head2 C<clause> |
| 115 | 115 |
|
| 116 |
- $where->clause(title => '{= title}', date => ['{< date}', '{> date}']);
|
|
| 116 |
+ $where->clause( |
|
| 117 |
+ ['and', '{= title}', ['or', '{< date}', '{> date}']]
|
|
| 118 |
+ ); |
|
| 117 | 119 |
|
| 118 |
-Where clause. These clauses is joined by ' and ' at C<to_string()> |
|
| 119 |
-if corresponding parameter name is exists in C<param>. |
|
| 120 |
+Where clause. |
|
| 120 | 121 |
|
| 121 | 122 |
=head2 C<to_string> |
| 122 | 123 |
|
| 123 | 124 |
$where->to_string; |
| 125 |
+ |
|
| 126 |
+Convert where clause to string correspoinding to param name. |
|
| 127 |
+ |
| ... | ... |
@@ -868,13 +868,9 @@ $result = $dbi->select( |
| 868 | 868 |
$row = $result->fetch_hash_all; |
| 869 | 869 |
is_deeply($row, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}]);
|
| 870 | 870 |
|
| 871 |
-__END__ |
|
| 872 |
- |
|
| 873 | 871 |
eval {
|
| 874 | 872 |
$where = $dbi->where |
| 875 |
- ->clause(key1 => "{= key1}" )
|
|
| 876 |
- ->or_clause(key2 => "{= key2}" )
|
|
| 877 |
- ->param({key3 => 5});
|
|
| 873 |
+ ->clause(['uuu']); |
|
| 878 | 874 |
$result = $dbi->select( |
| 879 | 875 |
table => 'table1', |
| 880 | 876 |
where => $where |
| ... | ... |
@@ -885,8 +881,35 @@ ok($@); |
| 885 | 881 |
$where = $dbi->where; |
| 886 | 882 |
is("$where", '');
|
| 887 | 883 |
|
| 888 |
-$where = $dbi->where->clause(key1 => 'pppp')->param({key1 => 1});
|
|
| 889 |
-like("$where", qr/pppp/);
|
|
| 884 |
+$where = $dbi->where |
|
| 885 |
+ ->clause(['or', ('{= key1}') x 2])
|
|
| 886 |
+ ->param({key1 => [1, 3]});
|
|
| 887 |
+$result = $dbi->select( |
|
| 888 |
+ table => 'table1', |
|
| 889 |
+ where => $where, |
|
| 890 |
+); |
|
| 891 |
+$row = $result->fetch_hash_all; |
|
| 892 |
+is_deeply($row, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}]);
|
|
| 893 |
+ |
|
| 894 |
+$where = $dbi->where |
|
| 895 |
+ ->clause(['or', ('{= key1}') x 2])
|
|
| 896 |
+ ->param({key1 => [1]});
|
|
| 897 |
+$result = $dbi->select( |
|
| 898 |
+ table => 'table1', |
|
| 899 |
+ where => $where, |
|
| 900 |
+); |
|
| 901 |
+$row = $result->fetch_hash_all; |
|
| 902 |
+is_deeply($row, [{key1 => 1, key2 => 2}]);
|
|
| 903 |
+ |
|
| 904 |
+$where = $dbi->where |
|
| 905 |
+ ->clause(['or', ('{= key1}') x 2])
|
|
| 906 |
+ ->param({key1 => 1});
|
|
| 907 |
+$result = $dbi->select( |
|
| 908 |
+ table => 'table1', |
|
| 909 |
+ where => $where, |
|
| 910 |
+); |
|
| 911 |
+$row = $result->fetch_hash_all; |
|
| 912 |
+is_deeply($row, [{key1 => 1, key2 => 2}]);
|
|
| 890 | 913 |
|
| 891 | 914 |
test 'dbi_options default'; |
| 892 | 915 |
$dbi = DBIx::Custom->new; |