問題タブ [active-relation]
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 - Rails 3 で has_many 関連付けを検索するにはどうすればよいですか (meta_where または railslogic?)
UserHasMessages というモデルがあります。
User.rb モデルは次のとおりです。
関連する UserHasMessages の Message_id が @message.id であるユーザーを検索したい
私はこのようなことを(searchlogicを使用して)試しましたが、うまくいきませんでした.meta_whereでどこから始めるべきかわかりませんでした:
ruby-on-rails - Rails 3の関連付けを介してのみクラスメソッドがレコードの配列にアクセスできるのはなぜですか?
Article と Category という 2 つのモデルがある簡単な例を考えてみましょう。
さて、レールコンソールで:
予想通り、エラーを返します
しかし、私がこれを行うとき
一連のレコードを返します!
これにより、クラスのチェックが促されます
と
どちらもArrayクラスを返します。
明らかに、Article のクラス メソッド 'search' は実行時に導入され、関連付け (Category) を介してアクセスされた場合はレコードの「正しい」戻りを促しますが、クラス自体 (Article) によってアクセスされた場合は別の動作をします。
それで、何が起こっているのですか?
ruby-on-rails - Rails/Arel: ActiveRecord::Relation としてすべてのレコードを選択する
Rails で Arel を使用する - をActiveRecord::Relation
効果的に作成する方法を探していますがSELECT * FROM table
、さらに操作することができます。
たとえば、複数のカテゴリに分割されたモデルがあり、次の方法でこれらのカウントを返します。
COUNT
これは問題なく動作し、実際にレコード自体を選択するのではなく、MySQL に対してクエリを実行できるという利点があります。
ただし、アーカイブされたレコードをカウントに含める必要がありますが、relation = Model.all
結果は にArray
なり、探しているのはActiveRecord::Relation
です。
これを実行する唯一の方法は です。これはmodel.where(model.arel_table[:id].not_eq(nil))
機能しますが、少しばかげているように思えます。
誰でもこれに光を当てることができますか?
sql - Rails 3 ActiveRelationは、結合に「is null」を追加しています...どうすればそれを停止できますか?
私は最初の結合を試みていますが、それが生成するSQLは非常に奇妙です。
受信者がユーザーに属しています。読み取られておらず、削除されていないユーザーによるすべての受信者にクエリを実行しようとしています。
これはそれが生成するSQLです:
「ISNULL」を取り除く方法はありますか?それはそこにあるはずではありません:(
私はグーグルを検索してみました、そして実際にそこにある例の95%が結合について話していないのは本当に驚くべきことです。私が見つけた結合のいくつかの例では、減価償却された&構文を使用しています。このためのドキュメントは、実際には他のものと比較してかなり悪いです。確かに非常に奇妙です。
とにかく、私はこれを機能させることができません。ソフトウェアを19年間開発していて、単一のテーブルにSQLを結合できない場合は、間違いなく良い日ではありません:( 15個の結合でSQLでクエリを手動で記述できます。これは、あなたが支払う代償だと思います。新しいフレームワークを調べて学習するときもありますが、Hibernateではそれほど奇妙なことではありません:/
ruby-on-rails - Rails 3:特定のリストにないIDを持つすべての投稿を取得するにはどうすればよいですか?
publisher_id
10、16、または17に等しいすべての投稿を取得するには、次のようにします。
10、16、または17にpublisher_id
等しくないすべての投稿(つまり、これら3つ以外のすべての可能なID)を取得するにはどうすればよいですか?
ruby-on-rails - フォーラムのユーザーを "total_content_length" で並べ替え、次に最新の投稿で並べ替える方法は?
フォーラムのユーザーを で並べ替えたいと思いますtotal_content_length
。フォーラムでトップn
ライターを獲得するには、次のようにします。
さて、問題は、同じ を持つ 2 人 (またはそれ以上) のユーザーがいる場合total_content_length
です。この場合、最近投稿を作成したユーザーを優先したいと思います。
Post
haspublisher_id
フィールド (これは userid
です)。
これをどうしますか?
ruby-on-rails - アクティブな関係の条件を除外するには、どうすればよいですか?
私は次の反対を行う方法を探しています:
何かのようなもの :
この投稿を見つけました。しかし、find(:all, :conditions => {})
現在はRails 3で非推奨になっており、さらに、これを行うためのよりクリーンな方法が存在する必要があると思います。
なにか提案を ?
ruby-on-rails - Rails3はアクティブな関係で混乱しています
これに関するドキュメントをチェックアウトしましたが、まだ少し混乱しています。私の目標は、@momのコンテンツフィールドを返すことです。しかし、未定義のメソッド`content'では失敗します。@goalsは機能します。@momについて何が欠けていますか?それを機能させるにはどうすればよいですか?
project_controller.rb
Show.html.erb
モデル
ruby-on-rails - Rails 3 Active Recordクエリでオブジェクトとカウントを一緒に選択するにはどうすればよいですか?
アクティブクエリでこのようなことを行うにはどうすればよいですか?
私はこれをアクティブクエリで試しました:
返される結果セットには、正しいカウント順序で並べ替えられた製品のみが含まれ、カウント値は含まれていません。.to_sqlを実行すると、正しいSQLが返されます。
dbで効率的にしながら、これまたは同様のことをどのように行うことができますか?
もう1つの関連する質問は、アクティブなクエリで.select("product.*)
またはを実行するにはどうすればよいですか?.group("product.*")
今、私はすべてのフィールドをリストアップする必要があります。.group("product.id, product.name, product.price...etc")
ruby-on-rails-3 - Rails :include には含まれません
私のモデル:
次のクエリを実行すると、emails
期待どおりに返されます。
ただし、関係を試みて:include
も次のことはできません。
ご覧のとおり、SQL は実行されていますが、電子メールは返されていません。メールを含むすべての連絡先を返すつもりなので、:joins
何の役にも立ちません。私は何が欠けていますか?