問題タブ [squeel]
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.
ruby-on-rails - Squeel と rails... 動的 where 句
Rails アプリで Squeel を使用すると、条件のハッシュが得られます。
最終的には配列に移動する予定です...そのため、演算子の割り当てもできます。
Model メソッドを使用したいのですが、今のところ演算子を省略していますが、これを機能させるために == を試みているだけです...しかし、以下にあるものは機能しません。
私もこれを試しました:
では、これを == で動作させるにはどうすればよいでしょうか。また、最終的にこれを動的演算子でも動作させるにはどうすればよいでしょうか? ありがとう
コンソールでは、私の SQL は私の条件を読み込んでいません... 例:
コンソールで:
ruby-on-rails - ruby date.month スクイール検索内の単語
私は squeel を使用しており、Event.rb モデルに検索メソッドがあり、text_field 入力からパラメーター (文字列) を受け取ります。
私が達成しようとしているのは、ユーザーが Event.date.month で "fe" または "ap" 検索を入力して一致 ("2 月"、"4 月" など) を検索した場合です。現時点では、月の数字 02、04 などを入力するだけで動作しています。
助けていただければ幸いです
ruby-on-rails - SqueelでNOT演算子を使用していますか?
Squeel を使用して SQL クエリを作成するにはどうすればよいですか?
私は試した:
しかし、このエラーが発生します:
ruby-on-rails - squeel を使用して、結合されたレコードを結果に含めるにはどうすればよいですか
上記を試していますが、結果セットにも一致する一致が必要です..
このため
products.first.agreement.first... は使えません。別の契約かもしれません。
ruby-on-rails - 複数の belongs_to 関連付けを使用した同じモデルへの複数の結合
私は Member クラスへの 2 つの belongs_to 関連付けを持つクラス Agreement を持っています - プライマリとセカンダリとして参照されます:
Member クラスは、Agreement クラスとの関連付けを認識していません。次のことは必要ありません。
私がやりたいことは、一次メンバーまたは二次メンバーが一連の基準に一致するすべての契約書を検索することです。
以前の作業 (質問 #14139609 を参照) から、 の条件付き where 句を作成する方法を整理しましたMember.by_any()
。
契約の検索中にそのメソッドを再利用しようとすると、これを試すようになりました。
を使用してコンソールでこれを実行するmember_attribute_hash = {surname: 'Freud'}
と、生成された SQL は、メンバーへの 2 番目の結合用に生成されたエイリアスを受け入れません。
WHERE 句の条件が重複していることに注意してください。これにより、プライマリ メンバーの姓が「Freud」のような契約が返されますが、エイリアスがマージを通過しないため、セカンダリ メンバーの条件は無視されます。
何か案は?
ruby-on-rails - Squeel と Rails を使用して DISTINCT [model].* を選択する方法
興味本位で書き直してみました
(これにより生成されます):
純粋なSqueelでは、しかし、私が得ることができる最も近いものは
生成するもの:
DISTINCT [model].*
Squeel ではどうすればよいですか? 出来ますか?
ありがとう
ruby-on-rails - RailsとSqueelを使用した複雑な条件での結果のランキング
私はおそらくここで何かばかげたことをしているでしょう-そして私は他の方法を受け入れています-しかし私は計算されたフィールドに基づいて結果セットを並べ替えようとしています:
私の問題はそれdate_of_birth
がゼロかもしれないということです。これにより、cast((...).as int)
呼び出しは3つの異なる値を返します-式が;と1
評価された場合。式が;と評価された場合; 基になる列の値がであった場合。true
0
false
nil
nil
式のnil
値により、ランキング全体がNIL
-と評価されます。つまり、正確に一致するレコードがsurname
ありgiven_names
、date_of_birth
列がnil
、のranking
場合、レコードのforはですnil
。
cast
をチェックするで複雑な式を使用しようとしましたが、を使用if not nil or the matching_value
してSqueel例外で失敗し、とを使用すると|
rubyがそれを評価します。||
or
また、エイリアス列の順序で述語を使用しようとしました。
ただし、列が存在しないActiveRecord
ことを示す例外がスローされます。ranking
私は私のロープの終わりにいます...何かアイデアはありますか?
ruby-on-rails - 明らかにそうではないのに、なぜこのRuby Squeel(PostgreSQL)呼び出しがnilを返すのですか?
ユーザーがGPAやスポーツ統計などの基準に基づいてアスリートを検索できる検索ページがあります。検索フィルターを1つだけ使用すると、PostgreSQLは正解を返します。複数の検索フィルターが使用されている場合、両方の検索フィルターで同じ統計が使用されている場合にのみ機能します。たとえば、「GPA>3」および「GPA== 4」を検索すると、対応するアスリートが返されます。「GPA>3」と「ACT>20」(どちらも同じアスリートに当てはまります)を実行すると、何も返されません(空の配列)。
このページ全体で参照できるように、@ conditionは次のようになります(ループを繰り返すことができるように、ハッシュではなくコード内で配列に変換されますが、要点はわかります)。
以下はコードです(Squeel構文):
以下に、ruby-debugから取得した2つのPostgreSQL呼び出しを含めました(PostgreSQLのRubyラッパーであるSqueelを使用しています)。両方の呼び出しを下にスクロールすると、最初の呼び出しと2番目の呼び出しが同じであることがわかりますが、2番目の呼び出しには余分なANDがあります(最初の呼び出しと同じ形式に従い、正常に機能するはずです)。
呼び出し1(1つのパラメーター):
結果はアスリートです。
呼び出し2(2つのパラメーター):
ただし、2番目の呼び出しは[]を返しますが、同じアスリートである必要があります...
これが機能しない理由はありますか?ぶつかった!
::::: UPDATE :::::次のようにして修正しましたが、それでもかなり高速です。
ruby-on-rails-3 - Paginate と Squeel がうまく連携しない
will_paginate を squeel と連携させるのに問題があります。
次のコードは、フォームの params を使用して検索を行います。
「Disponível」(item_status_logico) と「Funciona」(item_status_fisico) で機能します。しかし、 :criterio に何かを入れると、次のメッセージで壊れます:
nil:NilClass の未定義メソッド「paginate」
私のコントローラーには、すべてを呼び出すリストメソッドがあります
次の資料を見て理解します。しかし、私はできませんでした。
- https://github.com/ernie/squeel/wiki/Tips-and-tricks
- https://github.com/ernie/squeel
- http://railscasts.com/episodes/354-squeel
誰でも助けることができますか?
情報:
- ルビー (1.9.3)
- will_paginate (3.0.4)
- きしむ (1.0.18)
- レール (3.2.13)