問題タブ [dynamic-finders]
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 - find vs find_by vs where
私はレールが初めてです。レコードを見つける方法はたくさんあると思います:
find_by_<columnname>(<columnvalue>)
find(:first, :conditions => { <columnname> => <columnvalue> }
where(<columnname> => <columnvalue>).first
そして、それらすべてがまったく同じ SQL を生成することになるようです。また、複数のレコードを見つける場合も同じことが当てはまると思います。
find_all_by_<columnname>(<columnvalue>)
find(:all, :conditions => { <columnname> => <columnvalue> }
where(<columnname> => <columnvalue>)
どちらを使用するかについての経験則または推奨事項はありますか?
ruby-on-rails - Railsの「find_all_by」と「.where」
次のコードがあります。
私はそれを次のように変更することを考えていました:
これに何か利点はありますか?.where
現代よりも一般的なようですfind_all_by
。
grails - findOrCreateBy は他のドメイン インスタンスで機能しますか?
findOrCreateBy
を使用してオブジェクトを検索したり、一致するオブジェクトが見つからない場合はインスタンス化したりしようとしていますが、期待どおりに機能しません。
これは私が持っているものです:
私は何を間違っていますか?fooType
が正しく設定されていないのはなぜですか? これは予期された動作ですか、それとも Grails のバグですか?
ruby-on-rails-3 - Rails 動的ファインダーは nil を返します
Ruby on Rails の使用 - sqlite3、rails 3.2.2、ruby 1.9.3p125 (Windows XP 上)
データベースにレコードを持っている:
しかし
すべての動的ファインダーも同様です (整数値と文字列値の場合は nil を返すことに注意してください)。
なぜ定義されていないのですか?
ruby-on-rails - Railsアプリケーションにnamed_scopesを動的に追加する
レールの動的ファインダーメソッドと同様に、関連するモデルに動的ファインダーメソッドを使用する方法はありますか?
次のモデルを検討してください
Userオブジェクトからメモ属性の動的ファインダーを呼び出すにはどうすればよいですか?
unit-testing - grails listOrderBy 動的ファインダーの単体テストで @Mock ドメイン オブジェクトが例外をスローする
Grails コントローラーの単体テストを書いています。コードのスニペットを次に示します。
ドメイン オブジェクトは次のようになります。
私がテストしているコントローラーのメソッドは、この GORM 動的メソッドを呼び出します。
@Mock アノテーションがすべての動的メソッドを追加する必要があるため、実行がこの行にヒットするとテストは失敗し、例外はあまり意味がありません。
grails アプリを実行すると、コントローラーは正常に動作します。何か案は?
ruby-on-rails - Rails:findとfind_byは奇妙な#を返しますモデルではありますが、Railsコンソールではありません
私が数時間立ち往生している奇妙な問題:
Rails 3を使用して、ユーザーが自分の電子メールとパスワードでログインする簡単なユーザーログインを作成しています。私のユーザーモデルでは、電子メールで正しいユーザーオブジェクトを見つけて、正しいパスワードを入力したかどうかを引き続き確認しようとしています。
Railsコンソールからユーザーを見つけようとすると
目的の結果が得られます-正しいUserオブジェクトが返されます
しかし、次のコードをmodel / user.rbファイルに入れると、奇妙な結果が得られます。
以下を出力します。
このユーザー変数を使用しようとすると、エラーが発生し、変数またはメソッド「user」が不明であると表示されます
ログファイルからの出力は次のとおりです。
これが私が試したいくつかのことです...
上記のmysqlクエリは間違いなく機能します。私はそれをmysqlにコピーしました、そしてそれは正しいユーザーを取り戻しました。
これも機能しないfind(id)を試しました。同様のユーザーを返します:0x10b7b82c8
全体として、コンソールがモデルコード自体とは異なる結果をもたらす理由を理解できません。
find_byからこのような奇妙な結果が返される理由を知っている人はいますか?
どうもありがとう!
編集:フレデリックが問題を見つけるのに十分ではないと述べたので、ここに追加のコードがあります。
controllers/users_controller.rbから
models/user.rbから
ruby-on-rails - Rails4の動的バングファインダー
Rails 4は動的ファインダーを排除しているので、
になります
大したことではありません。User.find_by_hash!(hash)
しかし、方法がないので、動的な強打ファインダーに対処するための最良の方法は何where!()
ですか?Rails4リリースノートはこれを回避するのに便利です。
更新:「find_by_...とfind_by_...!を除くすべての動的メソッドは非推奨です」とはっきりと書かれています。
それ以来ページが変更されたか、それを読んでいたときに私は盲目でした。
spring-data-jpa - Map としての動的フィールドの Spring Data JPA ファインダー
私の要件は、ドメイン オブジェクトにカスタム フィールドをほとんど持たないことです。これらのフィールドは、クライアントごとに異なる場合があります。
Spring Data JPA を使用してファインダーを実行しています。Spring データは暗黙的にドメインの静的フィールドのファインダーを提供し、オブジェクト グラフ内のフィールドのファインダーも処理できます。
カスタム フィールドのデータを検索する方法があるかどうか知りたいですか? 誰かが私に同じことを達成するための戦略を提案できますか? 以下は私のドメインクラスのサンプルです。
パブリッククラス従業員{
プライベート文字列名;
プライベート文字列の年齢;
プライベート マップ customeFields; (お客様によって異なる場合があります)
}
私は QueryLookupStrategy をオーバーライドし、それを達成するために PartTreeJpaQuery の行に CustomJpaQuery を作成することを考えていました。より良いアプローチはありますか?spring data jpa は、クエリ作成メカニズムをオーバーライドする簡単なメカニズムを提供しますか?
grails - Grails でオフセットを使用してコレクションをフィルタリングする
findAll を使用して grails のコレクションをフィルタリングしようとしているので、彼のフィールド「estado」に特定の値を持つインスタンスのみを取得します。
私はこのようなものを持っています:
問題は、返されたコレクションをページ分割する方法がわからないことです。
私はgrailsのドキュメントを見て、これを見つけました
でもやってみると
次の例外が発生します
これは、ある種のページネーションを達成する理由ですか、それとも手動で行う必要がありますか?