問題タブ [squeryl]

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 投票する
0 に答える
443 参照

scala - Scalatra はオブジェクトを JSON にシリアライズしますが、その関係はシリアライズされません

私は Scalatra と Squeryl を使用してシングル ページ アプリケーションの例を作成しているため、常に JSON を返す Scalatra サーブレットが必要です。関係のないオブジェクトをシリアル化するときに完全に機能します。

クラス City と ManyToOne 関係を持つクラス Address があります。

そして、それは私のサーブレットです:

サーブレットがオブジェクト Address をシリアライズするとき、すべての属性をシリアライズしますが、関係はシリアライズしません。結果は次のとおりです。

そして、私が受け取りたいのは:

この方法でjsonを作成するにはどうすればよいですか?

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

scala - Squerylの「exists」機能の使い方は?

Squerylexistsのドキュメントに関数があることを発見しましたが、使用方法の例が見つかりません。

誰かが「存在する」の例を教えてくれますか?

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

scala - Scala マクロ、型パラメーター呼び出しの生成

私はSquerylの設定を一般化しようとしています(Slickは同じ問題を引き起こします)。多くの一般的なメソッドに対して、すべてのケース クラスに明示的に名前を付ける必要は避けたいと考えています。

これは、インデックスの生成、およびすべてのケース クラスの CRUD メソッドのラッパー メソッドの作成にも当てはまります。

理想的には、クラスのリストを作成してテーブルにし、インデックスを追加してラッパー メソッドを追加することです。

値を型パラメーターとして持つことはできないと思うので、ここでは Scala マクロを適用すると思いました。また、フォームのすべてのタイプに対してメソッドを生成する必要があります。

マクロの例については理解できましたが、一般的なデータ構造を生成する方法がわかりません。

私が欲しいものを説明するために、この簡単な例を手に入れました:

どうすればいいですか?それとも、Scala Macros は間違ったツールですか?

0 投票する
4 に答える
1796 参照

scala - SBT が Squeryl の依存関係を解決しない

私は最近、Play! で新しいプロジェクトを開始しました。フレームワークとスカラ。私は ORM に Squeryl を使用することに慣れていますが、何らかの理由で今回は依存関係を解決できません (ただし、squeryl ではなく他のものを解決します)。

私が違うことをしている唯一のことは、以前とは異なるコンピューター (現在は Windows、以前は Arch) を使用しており、Play 2.1 ではなく Play 2.1.1 を使用していることです。

編集:私もプロキシの背後にいます。いくつかの依存関係を解決できるため、これは解決された可能性があると思いましたが、プロキシが sbt を台無しにしている以外の理由はわかりません。ブラウザで squeryl の Maven リポジトリを見ることができますが、sbt はそれを見つけることができません。

build.properties:

Build.scala:

plugins.sbt:

コンソール:

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

scala - Scala データ モデリングとジェネリック

私は Play Framework と Squeryl を使用してデータベースのかなり基本的なフロント エンドを作成していますが、コードを書き直しすぎていることはわかっています。データベース内のデータを表すさまざまなモデルがあり、それらはすべて同じ 6 つの機能を実行します

そのため、モデルごとにケース クラスを使用し、これらのコマンドに付随するオブジェクトを使用しています。scala でジェネリクスまたはトレイトを使用して、これらのメソッドを毎回入力するのではなく、生活を楽にするにはどうすればよいでしょうか?

編集: gzm0 の回答でほとんど解決しましたが、問題は getAll をどのようにトレイトに実装するかです。上記のように、モデルごとにいくつかの変数を保存できるようにしたいと考えていmodel.aDifferentFieldForEachModelます。

0 投票する
3 に答える
1295 参照

scala - squeryl からのクエリをカウントするにはどうすればよいですか

クエリを返すメソッドがあります:

リストを数えたいのですが、この方法は次のとおりです。

リスト内のすべての要素を取得してループします。

から「select count」ステートメントを作成する解決策を見つけたいのですが、Query[User]まだ見つかりません。

または、カウント用の別のメソッドを作成する必要があります。

これは私が望むものではありません。

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

sql - Squeryl 動的結合句

私が探しているものはかなり一般的なようですが、Squeryl api ではわかりません。結合の on ステートメントに条件部分が必要です。

どうやってこれを手に入れたのかわからない。私は、別のものを追加したり、ここでコメントしたことを実行したりするなどのことを考えました。

肝心なのは、基本的に、この hasFallback フラグをオンにしている場合、この列が null ではない (定義されている) オブジェクトのみを返す必要があるということです。それ以外の場合、hasFallback フラグが存在しない場合は、定義されているかどうかを無視します。

編集: on メソッドは 7 つのパラメーターしか使用できないようです。この 7 つのパラメーター制限を回避する方法はありますか?

また、type mismatch; found : org.squeryl.dsl.boilerplate.JoinQueryYield6[myTuple] required: org.squeryl.dsl.boilerplate.JoinQueryYield7[?] どうやら私は何らかの理由で7を強制されているようです? それ以上でもそれ以下でもありません。

Squeryl サイトから直接

結合に N 個の引数がある場合、「on」関数は N-1 個の引数を取る必要があり、i 番目の「on」条件は i 番目のテーブル式に対応します。

解決策:同じ問題でここにたどり着いた他の人のために、where句を使用した解決策を次に示します。

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

scala - squeryl での複数の左結合

私のデータモデルはユーザーで構成されています。ユーザーは複数のフォルダーを持つことができ、フォルダーには複数のアカウントを含めることができます。

上記のすべての情報を一度に返すクエリを実行したいと考えています。

フォルダを持つユーザーを返すクエリは次のようになります。

そして、次のようなクエリが必要です。

アカウントをフォルダにマップするにはどうすればよいですか? のようにf.idField === a.map(_.folderId)見えて使えません。fList

前もって感謝します

フロー

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

sql - Squeryl 選択重複

Squeryl クエリで重複データを見つけたいです。通常の SQL でここにあるメソッドを使用してこれを行うことができますが、Squeryl を使用して行う方法がわかりません。

基本的に、Non-Distinct 行を検索するこの行を Squeryl に変換する必要があります

編集:さらに重要なことに、これを動的に実行できる必要があります。渡されるさまざまなオプションに依存する可能性のある、少し複雑な動的クエリを呼び出します。Option が定義されている場合は、これを呼び出す必要があります。それ以外の場合は、null の場合は禁止します。ただし、groupBy は、inhibitBy メソッドをサポートしていません。私の現在の方法の完全な説明を見るには、ここを見てください

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

sql - Nullable 列を持つ Squeryl Where 句は効果がありません

基本的にテーブルを 2 つのリストに分割する where 句があります。すべてのフィールドが「完全」(-1 ではない) である 1 つのリストと、いずれかのフィールドが不完全なリスト。問題は、これらのフィールドの 1 つが null 可能であるだけでなく、別のフィールドが true の場合にのみ不完全としてカウントしたいことです。

Where 句:

attr4 行は効果がないように見えますが、残りの条件はすべて正しく機能します。つまり、他の条件が true である限り、完了としてレンダリングされます。

編集:それは間違いなくinhibitWhenの呼び出しと関係があります。1 つの行 (l と p) で 2 つの異なるテーブルを使用すると何か問題がありますか?