ホーム>source

Rails 5を使用しています。このモデルはどのようにして入手できますか...

クラスBook<前>ウィズウィズ

作成者クラスには属性「名前」があります。著者に文字列「Joe」が含まれている本オブジェクトのクエリを作成するにはどうすればよいですか?私はこれを試しました

<前>ウィズウィズ

しかし、サイコロはありません。

has_one :author
あなたの答え
  • 解決した方法 # 1

    試してみてください:

    <前>ウィズウィズ

    ウィズウィズ  構文が機能するはずです。

    ハッシュパラメーターを使用して Book.joins(:author).where('LOWER(authors.name) LIKE ?', '%joe%') を呼び出すことはできません  この場合、 plural_table_name.column_name LIKE ... を使用しているため  クエリの演算子。

    私があなたの where を変更したことに注意してください  ウィズウィズへ  クエリの結果を取得した後で「子」列を呼び出すかどうかはわかりません。ウィズウィズ   LIKE を追加するのに十分です  句を作成し、著者の列にアクセスします。

    includes

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ shell - ファイル操作。 fork()execvp()、wait/waitpid()を使用して単一のコマンドライン引数を取るcプログラム