DBIx :: Classを使用していますが、ResultSetがあります。私はResultSetを並べ替えるのが好きです。私は特定の列 "City"を値の修正リスト( "London"、 "New York" "Tokyo")に対してチェックしたい。値のリストにcityがある場合、その結果をトップグループに移動したい。都市が見つからない場合、その結果をResultSetの一番下のグループに移動するのが好きです。DBIx :: Class:リストに値が存在することに基づいて、order_byが返されます
#!/usr/bin/env perl
use strict;
use warnings;
my $what = shift or die;
my @ary = qw(alpha beta gamma);
unshift(@ary,$what) unless (grep(/$what/,@ary));
print "@ary\n";
1;
ラン:
これはどのバージョンですか? DBIx :: Class 0.08123では動作しません。 SQLで抽象的な参照は見られませんでしたが、あまり意味がないかもしれません。 – aartist
追加の動的フィールドを作成し、新しいフィールドでorder_byを実行できますか? – aartist
例がdaximによって追加されました(編集していただきありがとうございます、私の最後の文は少し曖昧でした)。 order_byパラメータの文字列への参照を指定できるので、 "name = 'London' desc、name = 'Paris' desc、name = 'Tokyo' desc"のような文字列を作成できます。 – larsen