問題タブ [meta-where]
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 - metawhereでタグを検索する
モデルとそれに関連するタグに対して複数列の検索を実行しようとしています。私はmetawhereを使用しており、これにはタグ付け可能として機能します。基本的に、タイトルと本文に名前の付いたタグが一定量あるモデルがあります。このクエリをmetawhereで設定しようとしましたが、モデルのタグに結合しようとしても結果が返されません。次のPostモデルを検索するために使用されている「str」という名前の変数があります...
次のSQLを生成します。
誰かがこれで私を正しい方向に向けることができますか?どんな助けでも大歓迎です。
ruby-on-rails - Railsでレコードが関連付けられていないレコードを検索したい
単純な関連付けを考えてみましょう...
ARelやmeta_whereに友達がいないすべての人を取得するための最もクリーンな方法は何ですか?
そして、has_many:throughバージョンはどうですか
私は本当にcounter_cacheを使いたくありません-そして私が読んだものからそれはhas_manyで動作しません:through
すべてのperson.friendsレコードをプルして、Rubyでループさせたくありません-meta_searchgemで使用できるクエリ/スコープが必要です
クエリのパフォーマンスコストは気にしません
そして、実際のSQLから離れるほど良い...
sql - MetaWhereでこのSQLを書く方法は?
MetaWhere(Rails 3)を使用してこのクエリを作成するにはどうすればよいですか?
自己参照アソシエーションでこのRailscastからとの両方を返すUser
というメソッドをクラスに追加しようとしています。buddies
friends
inverse_friends
助けていただければ幸いです!
編集:私は私がすることができるように、返されたセットでクエリできるようにしたいです:
解決策:最後の編集を気にしないでください。既存の関連付けで演算子をis_a_buddy_of?(user)
使用して、メソッドをこれに変更しました。|
ruby-on-rails - Rails 3 で has_many 関連付けを検索するにはどうすればよいですか (meta_where または railslogic?)
UserHasMessages というモデルがあります。
User.rb モデルは次のとおりです。
関連する UserHasMessages の Message_id が @message.id であるユーザーを検索したい
私はこのようなことを(searchlogicを使用して)試しましたが、うまくいきませんでした.meta_whereでどこから始めるべきかわかりませんでした:
ruby-on-rails - それをMetaWhereまたはArelに変換するにはどうすればよいですか?
次のような都市モデルを考えてみましょう。
フィールドが文字列であることを知っているその状況でArelまたはMetawhereを使用するには、次のようなものがあります。
"name" "residents.name" "state.name"
私はそのようなことをしたい(動作しません):
それで、あなたの考えは何ですか?
本当の問題は、どうすればそれを変換できるかということです。
"residents.name LIKE'#{value}%'"
それに:
:residents => {:name =〜 "#{value}%"}
sql - PHRASEで始まる単語全体を含むフィールドコンテンツのSQLクエリ
フィールドに複数のキーワードが含まれている行をフェッチするSQLクエリを作成しようとしています。クエリの用途は、jQueryで実装されたオートコンプリート関数の結果をフェッチすることです。
現在、オートコンプリートは機能していますが、私の結果には、特定のフィールドのコンテンツにクエリが含まれているすべての行が含まれます。たとえば、「ar」というフレーズを入力すると、結果には車、ギター、樹皮などが含まれます。
ユーザーは単語の途中のランダムな断片を入力しない可能性が高いため、フレーズで始まる結果のみを返したいと思います。 [私はgemを使用しています] を使用して、最初の単語がクエリで始まるすべての行をフェッチできます。Model.where((:name =~ "#{params[:q]}%")
meta_where
ただし、フィールドの2番目の単語がクエリ文字列で始まる行も返したいのですが、最初の単語はそうではありません。
たとえば、行「blackdog」と「dogfood」の場合、クエリ文字列「do」は両方の行を返す必要がありますが、クエリ文字列「do」は「undone」を返さないようにする必要があります。
このような検索のSQLクエリをどのように書く必要がありますか?
ruby-on-rails-3 - Rails 3 の metawhere でアソシエーションを検索するにはどうすればよいですか?
searchlogic を使用していたときは、次のように使用できました。
たとえば、Todo レコードに属する連絡先に属するキャンペーンを検索できます。
これは私が試したものです(ソートの方法がわからない:
metawhere でそのようなことを行うにはどうすればよいですか?
ruby-on-rails-3 - 関連付けを検索してテーブルに参加するには、どのように metawhere を使用しますか?
Message と UserMessage の 2 つのモデルがあります。SO の別の場所からこのアーキテクチャを取得しましたが、いくつかの課題があります。
各メッセージには 2 つの UserMessage があります。1 つの UserMessage には送信者の user_id があり、もう 1 つは受信者の user_id があります。これにより、一方の当事者が他方とは別にメッセージのステータスを削除または変更できます。
sender_id と receiver_id の間で送信されたすべてのメッセージのリストを見つけるにはどうすればよいですか?
たとえば、 UserMessage.where(:user_id => sender_id) を実行すると、受信者だけが表示されません。
また、1 つのメッセージに多数の UserMessage が含まれる場合があるため、メッセージを一意に検索またはグループ化できる必要があります。つまり、5 つの UserMessage がすべて同じメッセージに属している場合、そのメッセージの最新の日付の UserMessage が必要です。
1 つの UserMessage が sender_id で、もう 1 つが receiver_id であるすべてのメッセージのリストを生成できるかどうかを考えていますが、それはうまくいくでしょうか?
ruby-on-rails - metawhereとjoinsを使用してこのクエリを実行するにはどうすればよいですか?
User.rbがあります:
各Message.rbには、account_idメソッドと:givereceiveメソッドがあります。
Account.rbモデルのメソッドを作成して、account_idがそのアカウントと同じで:givereceive = "Give"であるメッセージを送信したすべてのユーザーを(一意に)表示できるようにします。
私は次のことを試しました:
しかし、メッセージとの関連付けがないというエラーが表示されます。
また、これによって重複するインスタンスが削除されることはありません (たとえば、同じユーザーが同じアカウントで複数のメッセージを作成した場合)。
私はコンソールでそれをテストしていて、metawheregemを持っています。
ありがとう。