Carl Franks schrieb:
2009/1/30 Ash Berlin <[email protected]>:
On 30 Jan 2009, at 08:56, Carl Franks wrote:
2009/1/29 Ash Berlin <[email protected]>:
On 29 Jan 2009, at 22:03, Carl Franks wrote:
Is it okay to use $result_source->column_info('name')->{_inflate_info}
to test whether a column is inflatable / deflatable?
It seems a bit too reliant on internals, to me.
Or should there be a has_inflatable_column('name') method?
(and is that what it should be called? do we really also need a
'has_deflatable_column' too?)
If someone makes a call, I'll write up a patch for it.
Carl
There doesn't seem to be a public way to determine this, and indeed
accessing anything starting with an _ indicates badness.
First things first - what exactly do you care if a column is inflated or
not?
In HTML-FormFu-Model-DBIC, I can't just use get/set_column(),
otherwise in/deflators won't get called.
So I've had to document that people can't name fields after DBIC
built-in methods such as 'delete', otherwise when we call $row->$name
it'll trash your db.
What I'd like to do is allow the use of any name, by doing something like
this:
$value = $row->result_source->has_inflated_column
? $row->get_inflated_column( $name )
: $row->get_column( $name );
$row->result_source->has_inflated_column
? $row->set_inflated_column( $name, $value )
: $row->set_column( $name, $value );
I can't just use get/set_inflated_column() for everything, as it
croaks if there's no in/deflator for a column.
set_inflated_columns
my $copy = $orig->set_inflated_columns({ $col => $val, $rel => $obj,
... });
Sets more than one column value at once, taking care to respect
inflations and relationships if relevant.
i used it and that dont croak :)
And why can't you just do $row->$name() or $row->$name($value) ? (I'm sure
there's a reason, I'm just curious as to what it is.)
If the column name clashes with a DBIC method, such as 'delete', we've
got a problem.
Carl
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]
--
Mit freundlichen Grüßen
Felix Antonius Wilhelm Ostmann
--------------------------------------------------
Websuche Search Technology GmbH & Co. KG
Martinistraße 3 - D-49080 Osnabrück - Germany
Tel.: +49 541 40666-0 - Fax: +49 541 40666-22
Email: [email protected] - Website: www.websuche.de
--------------------------------------------------
AG Osnabrück - HRA 200252 - Ust-Ident: DE814737310
Komplementärin: Websuche Search Technology
Verwaltungs GmbH - AG Osnabrück - HRB 200359
Geschäftsführer: Diplom Kaufmann Martin Steinkamp
--------------------------------------------------
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]