2015-03-10 12:26 GMT+03:00 Bob MacCallum <uncool...@gmail.com>: > I am not an expert, but shouldn't it just work with > > __PACKAGE__->resultset_attributes({ where => { status => { '!=' => 'deleted' > } } }); > > > ?
This doesn't work when there is more than one table with 'status' column in it: we need to provide an alias for that table along with a column name (which can be retrieved with $resultset->current_source_alias). > However, I've only ever used order_by in resultset_attributes so YMMV. > > > > On Mon, Mar 9, 2015 at 6:04 PM, Ilya Chesnokov <chesnokov.i...@gmail.com> > wrote: >> >> Hi, >> >> I have a "service" table in my database and want to mark services as >> deleted by setting service.status = 'deleted' instead of actually >> deleting them (for business reasons). >> >> I do it in a working project where DBIC is used as a database >> interaction layer, and it is preferable to make these changes as >> transparent to the surrounding code as possible. Our codebase is >> (mostly) covered with tests, so it's generally easy to understand >> whether there is a regression or not. >> >> First I tried to override search_rs() method in a custom resultset >> with something like this: >> https://gist.github.com/ichesnokov/1d4236f79c69fd14ebbe, but it didn't >> work as expected on prefetches with condition in them. >> >> Then I tried a method with resultset_attributes (see >> https://metacpan.org/pod/DBIx::Class::ResultSource#resultset_attributes), >> but it didn't work because it's impossible to get >> "current_source_alias" from ResultSource. >> >> Currently I'm using something based on the behavior of >> resultset_attributes (see >> https://gist.github.com/ichesnokov/e5fb7e70cb6d497ea5a0), and it >> works, but requires fiddling with internal state of a resultset, which >> seems a bit wrong. >> >> Is there any better way for achieving the same? >> >> Thanks. >> -- >> Best regards, >> Ilya Chesnokov >> >> _______________________________________________ >> 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/dbix-class@lists.scsys.co.uk > > > > _______________________________________________ > 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/dbix-class@lists.scsys.co.uk -- Best regards, Ilya Chesnokov _______________________________________________ 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/dbix-class@lists.scsys.co.uk