dbic

ランダムに一つのROWをとってくる

package App::Schema::Table::Hoge; use strict; use warnings; use base qw/DBIx::Class::ResultSet/; sub get_random_row { my ($self) = @_; my @ids = $self->search( {}, { select => [ qw/ id / ], } )->get_column('id')->all; my $id = $ids[ int( r…

DBIC_TRACE=1のときに発行されるsqlにどこで発行されたクエリか追記する

package DBIx::Class::Storage::Statistics::Caller; use strict; use warnings; use base qw/ DBIx::Class::Storage::Statistics /; sub query_start { my ($self, $string, @bind) = @_; my $caller_sub_name = $self->_get_non_dbic_caller; my $message …

Lingua::JA::Regular::Unicode をつかって全角カナを半角カナに変換する

全角と半角が混在していて、アレだったのですが、以下のコードで一発でした。 "、。" 等の文字も変換されて問題ない状況でした。 use Lingua::JA::Regular::Unicode; sub z2h { katakana_z2h($_[0]) } $_->update({ name => z2h($_->name), description => z…

DBIC勉強しつつ、SQL書き方ドリル読んだメモ -2-

p175〜 相関副問い合わせ。 SELECT p.ProductName, s1.Quantity, s1.saledate FROM Sales AS s1 JOIN Products AS p ON p.ProductID = s1.ProductID WHERE s1.Quantity > ( SELECT AVG(s2.Quantity) FROM Sales AS s2 WHERE s2.ProductID = s1.ProductID ) ;…

DBIC勉強しつつ、SQL書き方ドリル読んだメモ

DBは SQL書き方ドリル のサンプルです。 そこから DBIx::Class::Schema::Loader をつかって schema dump して relation とか書きました。 毎日ちょっとずつやっていこうかと思っております。 Util dumpするやつ。 sub p { my ($rs) = @_; my @rows = $rs->is…