From: Tony B. <ton...@ka...> - 2004-10-27 10:50:10
|
On Tue, Oct 26, 2004 at 11:26:11AM -0500, Dave Rolsky wrote: > >>Selects can be done via a table's primary key or by using an equality > >>or 'LIKE' comparison on a single column. It is not possible to select > >>based on other SQL operators or against multiple columns at once. > I changed this too: > Other more complex types of selects can be done either manually or with > the use of Class::DBI::AbstractSearch. I'm not sure what 'manually' means here. I read the original as saying you can do: Class->search(col1 => $val1) but not: Class->search(col1 => $val1, col2 => $val2) This was true when I took Class::DBI over, but was one of the first things I fixed. The change still seems to imply that this is true, but there are other workarounds > >>It B<is> possible to associate arbitrary SQL statements with a class > >>that may be as complex as needed, but these are specified in the form > >>of raw SQL. > >There's also a lot of other ways of setting up queries... > What should it say? Something like: There are a wide variety of methods for constructing queries, and Class::DBI also provides the ability for you to inline your own SQL and have the results automatically turned into objects as with the inbuilt queries. It also provides a mechanism for abstracting and encapsulating your SQL (e.g. __TABLE__ always gets turned into the table name associated with the class against which the query is being run). > >>It does not support joins directly but see the L<Table > >>Relationships|Table Relationships> section below. > >It supports joins through SQL extensions. > Again, what would you like this to say? Simple joins are supported through the Relationship mechanism. More complex joins can be written either as raw SQL or using the SQL translation mechanism. Thanks, Tony |