- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Perl-DBIC/その他/任意のSQLを実行する へ行く。
- 1 (2010-06-07 (月) 04:17:04)
- 2 (2010-06-07 (月) 05:06:49)
任意のSQLを実行する
テーブルクラスを以下のように作成する。
package MyApp::Schema::Result::UserExt;
use base 'DBIx::Class';
__PACKAGE__->load_components(qw/Core/);
__PACKAGE__->table("NONE");
__PACKAGE__->add_columns(qw/user_id/);
__PACKAGE__->result_source_instance->name(\"(
SELECT
u.user_id
FROM
user u
LEFT OUTER JOIN
team t
using (user_id)
WHERE
status = ?
GROUP BY
u.user_id
ORDER BY
max(coalesce(t.reg_date, u.reg_time)) DESC
)");
1;
上記のテーブルクラスを以下のようにして使う。
my @users = $schema->resultset( 'UserExt' )->search( {},
{
bind => [ 1 ]
}
)->all;