NameBright.com - Next Generation Domain Registration freeflux.net is coming soon
名前¶ DBIx::Class::Manual::Cookbook - レシピいろいろ レシピ¶ 検索¶ ページ処理された結果セット¶ When you expect a large number of results, you can ask DBIx::Class for a paged resultset, which will fetch only a small number of records at a time: 結果セットが膨大になりそうなら、ページ処理された結果をDBIx::Classで取得できます。 一回に、少しのレコードしかとってきません: my $rs = $schema->resultset('Artist')->search( undef, { page => 1, # page to return (defaults to 1) rows => 10, #
MySQLの関数を検索条件にぶち込んでほげほげしたい場合 $rs->search({'me.created_on' => {'>'=> \"NOW() - INTERVAL $span DAY"}); とか書くと、$spanがSQLインジェクションになりかねないの。 そういう場合はsearch_literal使うよろし。 $rs->search_literal('me.created_on >= NOW() - INTERVAL ? DAY', $span); こんなSQLで安全無敵 Executing : SELECT me.id, me.rid, me.name, me.created_on, me.timestamp FROM member me WHERE ( me.created_on >= NOW() - INTERVAL ? DAY ) : '1' まあINTERVAL使わな
※解決しました。フォローエントリ → 続・DBICが発行するSQLのテーブル名をクォートさせたい hoges, conditionsというテーブルがあって、hoges_conditionsを中間テーブルとしてmany_to_manyの関係を持たせた時にハマった。 create table `hoges_conditions` ( `hoge` int not null, `condition` int not null, `created_at` datetime not null, `updated_at` timestamp not null, foreign key(`hoge`) references hoges(id) on delete cascade, foreign key(`condition`) references conditions(id) on delete c
DBIC でデータをSELECT するときに日付型のデータを好きなフォーマットで取得するのに苦労していました。 単純にSQLでto_date関数などを発行すればいいのですが、そのためにはDBICでselect, as を使わなければなりません。 それがすごく面倒なんですよ。 日付のフォーマットさえ気にしなければ、こうやってデータを取れます。$c->model('DBIC::TranDiary')->search($query_ref);ところが、フォーマットをto_date で整えるためには、こーんな風に書かなければなりません。$c->model('DBIC::TranDiary')->search( $query_ref, { select => [ 'me.diary_id', 'me.user_id', 'me.title', 'me.body', 'me.status', 'me.
VERSION-0.05000での記述。http://search.cpan.org/~mstrout/DBIx-Class/ ドキュメントも当初に比べれば増えてきたし、そっち見たほうがよかばい。 まあ以下は簡単なまとめで。一通り使えるくらいは書きたい。 このサイトはWikiなので途中途中に色々追加したり修正したりしますからご注意を DBIx::Class::Schemaを使ってみる これからDBICではSchemaメインらしい。 使うテーブル作成SQL create table user ( id int(10) NOT NULL auto_increment, name varchar(256) NOT NULL, PRIMARY KEY (id) ) ENGINE = InnoDB;
作業内容 ルンバみたいな自動で送られてくる棚に商品をバーコードでスキャンして入れるだけ ノルマは1日3000件 拘束時間11時間(勤務時間10時間プラス休憩1時間) 時給1050円 なんj民にオススメ
最近CPANモジュールのPodを読みまくっている.でも英語はさっぱりわからない.で,【エキサイト】【翻訳】の出番です.意外と理解できるなぁ.もちろんそのまま使えるわけでもないけど,昔と比べて翻訳の質も上がってるような気がする.Perlのドキュメントを読むときは::を-に変えると読みやすくなるし,誤訳も減る気がする 単語も文法もぜんぜん知らないけどなんとかなるもんだ.でも,もう少し勉強しないと.中学生になったぐらいで止まってるからなぁ DBIC_TRACE=1は作ってるときは必須だ.ファイルに書き出したいときはDBIC_TRACE=1を指定した上でこうするとできるそうな(Manualのはカッコ抜けてる) $schema->storage->debugfh(IO::File->new('/tmp/trace.out', 'w'));追記していきたいなら'w'を'a'に変えればよい(もちろん'>
RDBMSではプライマリーキーになるカラム以外にユニークに なるカラムってあるわけです。 弊社の場合ridというカラムが全てのテーブルにありまして、 それがユニークなカラムになっております。 ridには完全ランダムにユニークとなる値が入っております。 それを普通にDBIC経由で検索する場合 $self->model('User')->search({rid => 'JZJlS7Es48'})->first; こんな感じでやるのがまあ、普通なんですが、 DBICではadd_unique_constraintなるものがあります。 __PACKAGE__->add_unique_constraint([qw/rid/]) ってな感じで設定しておいてやると、 $self->model('User')->find({rid => 'JZJlS7Es48'}); こんな感じでかけます。 firstメソ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く