問題タブ [dbix-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
917 参照

perl - DBIx::Class::InflateColumn::DateTime オブジェクトから sprintf で初期化されていない値を使用するのはなぜですか?

これは、DBIx::Class をアップグレードしてから始まったようで、何が間違っているのかわかりません。

結果ファイルの私の列定義は、

中断後にもう一度やり直すのは、Schema::Loader が生成されたコードを変更する際に問題が発生するのを防ぐためです。

初期化されていない値に関する警告を防ぐにはどうすればよいですか? これは DBIx::Class のバージョン 0.08124 を使用しています (以前のバージョンでも発生したと思いますが、この問題を調査することはできませんでした)。

0 投票する
1 に答える
1231 参照

perl - DBIx :: Class::ResultSetの問題

私は次のコードを持っています:

しかし、私がそれをこのように使おうとすると:

私は常にゼロの結果を得ます、誰かが私が間違っていることを言うことができますか?

ありがとう!

0 投票する
1 に答える
1095 参照

perl - DBIx ::ClassResultSetに列を動的に追加する

DBIx::ClasseBayオークションを表すオブジェクトがあります。基になるテーブルには、多くのデータを含む説明列があります。説明列はほとんど使用されないため、DBIx::Classそのテーブルの列リストには含まれていません。このように、ほとんどのクエリはオークションの説明データをフェッチしません。

ただし、この列を必要とするスクリプトが1つあります。この1つのケースでは、他の列と同じように、説明列の内容にアクセスします。

他のすべてのクエリに説明列をフェッチさせることなく、これを実現するにはどうすればよいですか?

0 投票する
1 に答える
893 参照

perl - Catalyst の DBIx::Class::Schema モデルの Moose メソッド修飾子

任意の結果クラス MySchema::Result::Foo (Moose/MooseX::nonmoose を使用するデフォルトのスキーマ ローダー生成構文から構築)

BUILDARGS メソッド ラッパーを追加して、行のコンストラクター データを次のようにサニタイズすると、次のようになります。

スキーマを直接使用する場合に機能します。たとえば、次は期待どおりに動作します: ->new が呼び出される前に、real_column=>'value' と not_a_real_column が削除された新しい行オブジェクトが作成されます。

ただし、Catalyst::Model::DBIC::Schema を介して同じスキーマを使用する場合、順序は異なります。not_a_real_column が無効であるため、新しい Foo 行オブジェクトを作成しようとすると、次のように失敗します。つまり、new への引数は、->new が呼び出される前に BUILDARGS を介して実行されません。

興味深いことに、'BUILDARGS' => sub{} の代わりに 'new' => sub{} をラップすると、動作はどちらの場合も同じで、正常に動作しますが、Moose のドグマでは決して混乱しないように述べられています。新着。

なぜこれが当てはまるのか、またはより良い方法があるかどうかを理解するのを手伝ってくれる人はいますか?

0 投票する
1 に答える
698 参照

sql - DBIx::ClassでGROUPの前に注文する方法

次のような単純な時間テーブルがあります。

DBIx::Classを使用しています。私の「アイテム」の結果は次のように定義されます。

つまり、私にできることは次のとおりです。

どちらでも構いません。次に、私は行うことができます:

このような結果セットを取得するには:

私の質問:フレッドとジャックの単一の最新の承認ステータスのセットを取得するにはどうすればよいですか?つまり、この結果セットを取得したいのです。

私はこのようなことを試みました:

ただし、「ORDERBY」は「GROUPBY」のに実行されるため、代わりに次のようになります。

ヘルプ?

0 投票する
1 に答える
454 参照

perl - TemplateToolkit内の結果セットから追加で選択された列にアクセスする

テンプレート(test.tt)の内部:

テンプレートに渡された結果セットで追加で選択されたアイテムにアクセスする方法がわかりません。

0 投票する
1 に答える
354 参照

database - DBIx::Class を使用して SQLite データベースにインデックスを作成する

DBIx::Class テーブルにはインデックスが必要だと思い始めています。複数の結合に対してコストのかかるクエリがいくつかあり、それらを少し最適化できるかどうかを確認したいと考えています。DBIx::Class 内のテーブルにインデックスを作成して維持する方法はありますか?

0 投票する
1 に答える
116 参照

sql - SQL::Translator::Table の add_index 関数を呼び出すときに、インデックス値の順序を指定するにはどうすればよいですか?

DBIx::Class を使用してテーブルとそのインデックスを作成し、SQL::Translator::Table add_index()を呼び出していますが、次のように、いくつかの列で値の順序を指定できるようにしたいと考えています。

add_table() に 'ASC' および 'DESC' 修飾子を指定することは可能ですか?

そうでない場合、この SQL は非効率的であると思われます。

この場合、データベースのオーバーヘッドを削減するための回避策はありますか? (MySql 5.xを使用しています

0 投票する
2 に答える
706 参照

perl - Test :: DBIx :: Classを使用してテストスイートのフィクスチャを正しくロードするにはどうすればよいですか?

DBIx :: Classスキーマのテストがたくさんあり、Test :: DBIx::Classを使用しています。これは、便利なテスト機能とロードフィクスチャを提供するので素晴らしいです。また、Test :: mysqldトレイトがあるため、テストmysqldインスタンスを動的に作成し、スキーマをデプロイし、フィクスチャをロードして、テストすることができます。しかし、テストスクリプトがたくさんある場合、コンストラクターを介してインスタンス化するときに、サーバーを起動し、各スクリプトの開始時にフィクスチャをデプロイしてロードするのはばかげているようです。

テストデータベースを作成し、テスト中にデータを入力するための最良の方法は何ですか?

0 投票する
1 に答える
1103 参照

sql - COUNT、SUM、CASE、および BETWEEN を使用してこの SQL クエリを Perl DBIx::Class に変換するにはどうすればよいですか?

この SQL クエリを Perl DBIx::Classコードに変換するにはどうすればよいですか?