問題タブ [has-many]
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.
php - CakePHPがクエリを複製するのはなぜですか?(これは、通常尋ねられる「クエリが多すぎる」問題と同じではありません)
モデルでこれらの関係を定義しました。
リードhasManyJobJob
HABTM Employee
Job HABTM Truck
私はfind('all')
自分のトラックモデルからを実行しようとしていますが、結果を次のように制限しています。
- すべてのトラック、
- 特定の集荷日があるトラックに関連するすべてのジョブ、
- それらの仕事に割り当てられた従業員、
- と仕事に関連付けられているリード。
これが私の検索操作です:
何らかの理由で、Cakeは従業員を2回見つけるためにクエリを実行します。これにより、すべての従業員が各ジョブに対して2回代表されることになります。SQLダンプは次のとおりです。
- /li>
- /li>
- /li>
- /li>
- /li>
- /li>
最後の2つのクエリが重複していることに注意してください。私が行方不明になっている何か間違ったことをしましたか?
更新
Cakeはすべてのトラックに対して重複したクエリを送信しているようです。トラックテーブルに15個のレコードがあるので、クエリとへのクエリleads
はemployees
それぞれ15回複製されます。
ruby-on-rails - has_many :through 関係のRails RSpecテスト
テストとレールは初めてですが、TDDプロセスを適切にダウンさせようとしています。
has_many :through リレーションシップをテストするために何らかのパラダイムを使用するかどうか疑問に思っていましたか? (または、一般的には has_many だけだと思います)。
たとえば、私のモデル仕様では、関連メソッドの関係の両端をチェックする簡単なテストを確実に書いていることがわかりました。
すなわち:
次に、カテゴリ仕様で逆テストを行い、@category.posts をチェックします。
他に何が欠けていますか?ありがとう!!
ruby-on-rails - 単一テーブル継承の counter_cache
counter_cache が単一テーブルの継承で機能するかどうか疑問に思っています。
これらのモデルの場合:
それで、次のカウンターは機能しますか?
- それらのすべてが機能します
- それらのどれも機能しません
questions_count
仕事だけ- のみ
simple_questions_count
とcomplex_questions_count
どれ?3枚目ですが、あと4枚欲しいです。4 でない場合、4 を機能させるにはどうすればよいですか?
===更新===
次に例を示します。
だから今私は欲しい:
私の質問は、の基本的な動作は何:counter_cache => true
ですか?単一テーブルの継承に適用することは可能ですか?
ruby-on-rails - Rails 3単一テーブルの継承とhas_manyの質問
親クラスにも has_many 関係が含まれているRails 3で単一テーブル継承モデルをセットアップしようとしています。残念ながら、私はそれを機能させることができません。例として、次の 3 つのクラスを示します。
そして、これをセットアップするために使用される移行は次のとおりです。
このように設定して、新しい SportsArticle を作成しようとすると、たとえば次のようになります。
私は常に次のエラーが発生します。
「TypeError: 文字列を整数に変換できません」
この問題を解決する方法がわかりません。オンラインで解決策を見つけようとしましたが、役に立ちませんでした。STI モデルを使用した経験のある人は何か間違っていると思いますか? 問題の診断に役立つ場合は、create メソッドに関するドキュメントへのリンクを次に示します 。
nhibernate - Fluent Nhibernate:予期しない行数:0; 予想:1
**現在解決済み。編集2および編集3を参照してください**
私はNHibernate初心者です-1週間前ですが、それを使って作業することで、新しいプロジェクトの時間を節約できます。NhibernateにParent-ChildCollectionをSQLサーバーデータベースに保存させようと頭を悩ませてきました。
私のクラスマップ:
HasMany操作を実行しようとしています。今、私は(SOやブログの他の多くの投稿から)OrderItemsにOrdersクラスの参照がないと不可能であると信じさせられました
NunitとNHProfilerを介してテストを行っており、注文の挿入ステートメントがプロファイリングされています...
それを解決する方法についての助けはありがたいです。
ありがとうございました、
3月
編集:ジョセフが尋ねたように変更を加えた後、NHプロファイラーに表示される更新ステートメント:
編集2:更新ステートメントの解決
子クラスマップで、ID行を次のように変更します。
編集3:インサートを改善する
上記のコードに基づいて、NHプロファイラーは、永続化されているオブジェクトインスタンスごとに、最初にselectステートメントを生成し、それに基づいてオブジェクトインスタンスが新しいかダーティかを判断することを示します。それを回避するには、Interceptorを次のように使用します
http://www.kkaok.pe.kr/doc/hibernate/reference/html/example-parentchild.html
Interceptorの実装方法については、記事の一番下に移動してください。永続クラスは、データベースに保存する必要があるエンティティの基本クラスになります。インターセプターは、セッションを起動するために登録する必要があります
インターセプターがイベントに置き換えられたことを読みました。それについて多くを読むことができませんでしたが、Interceptorは私にとって素晴らしい働きをします。
ruby-on-rails - Rails - has_many モデルと HABTM モデルの両方を使用した初心者関連の質問
私は3つのモデルを持っています:
サイトとユーザーには、結合テーブル (sites_users) があります。
すべてのサイトには n 人のユーザーがいます。すべてのテナントには n 個のサイトがあります。
特定のサイトのユーザーのリストを取得するには、次のように簡単です。
しかし、そのテナントの下にあるすべてのサイト間のすべてのユーザーのリストを提供するためにテナントに追加できる関連付けはありますか? 私ができるように:
php - CakePHPの奇妙なsaveAllの問題。trueを返しますが、データベースには何もありません
私は2つのモデルを持っていますStatement
->hasMany-> LineItem
。
次の配列をのメソッドの$this->saveAll()
1つに渡します。Statement
$this->saveAll($data) == true
、しかしstatements
データベースのテーブルをチェックすると、それは空です。奇妙なビット?auto_increment列は1ずつインクリメントされています。これは、テーブルの現在のauto_incrementと一致するid
という事実にも反映されています。$this->Statement->id
上記のすべてがline_items
テーブルにも当てはまり、auto_incrementのみが3ずつインクリメントされています。
アップデート
を使用する$this->save($data)
と、ステートメントは正しく保存されます(もちろん、LineItem
レコードはありません)。では、saveAllはどうなっているのでしょうか。
アップデート
したがって、問題はコントローラーまたはモデルのどこかにあると思います。いくつかの愚かなドー!きっと一瞬。これが私のコントローラーと私のモデルからのコードです(簡潔にするためにコメントと無関係なコードは削除されています)。
まず、モデル:
そしてコントローラー:
LineItemモデルは非常に簡潔です。
どこかに行く
コントローラメソッドでリダイレクトをオフにし、SQLダンプを確認しました。
トランザクションはロールバックされています。
statement_id
では、saveAllを使用しているときに、トランザクションのクエリに追加されないのはなぜですか?
ruby-on-rails - 複数のhabtmアソシエーションでフィルタリングする方法
私はRailsでかなり新しいので、これがばかげた質問であっても私を殺さないでください= P
私は次のモデルを持っています:
特定のセクターと特定の言語を持つすべてのプロファイルを取得するためのエレガントな方法(可能であればSQL結合などを記述せずに)を探しています。
私はグーグルで検索しましたが、私が見つけたのは1 habtmでそれを行う方法だけですが、2でそれが必要です。
私が持っているのは次のとおりです。
しかし、結合条件をいじったり、SQLを記述したりせずに、language_idでフィルターを追加する方法がわかりません。もちろん、すべて1つのクエリで...これを行うためのクリーンでエレガントな方法はありますか?
ありがとう!
ruby-on-rails - (Rails の質問) 複数のポリモーフィックな has_many 関係のマージ
(これは私が使用している実際のコードではありませんが、これは私がやりたいことのアイデアを要約したものです)
私の質問は、返されるものが配列ではないように、「ネットワーク」と呼ばれるメソッドを作成する方法を知りたいということです。そのようです、
だから私はまだこれを行うことができます:
到着予定時刻:
または、私の質問は、find_by メソッドを引き続き呼び出すことができるように、2 つの has_many アソシエーションをマージするメソッドを作成できるかどうかにかかっていると思います。
ruby-on-rails - ステータス更新.buildrubyとの関係でコメントオブジェクトを保存する
ステータスの更新とコメントデータベーステーブルがあります。
ユーザーには多くのステータス更新があり、ステータス更新には多くのコメントがあります。Facebookと同様に、ユーザーの友達がユーザーのフィードページ(表示ページ)にアクセスすると、ユーザーのステータスの更新についてコメントできるはずです。
ユーザーの友達のコメントを保存する際に問題が発生しました。私のコードは以下のとおりです。コメントコントローラーのCreateメソッドと関係があると思います。"@comment = @ statusupdate.comments.build(params [:comment]) 「」
どんなガイダンスでも大歓迎です!ありがとう!