0
ゾンビ(id、name、graveyard)と武器(id、name、strength、zombie_id)という2つのテーブルがあるとします。武器:belongs_toゾンビゾンビの名前が「ジャック」の武器を見つける最も簡単な方法は何ですか?Railsでのテーブル接続による検索
ありがとうございます!
ゾンビ(id、name、graveyard)と武器(id、name、strength、zombie_id)という2つのテーブルがあるとします。武器:belongs_toゾンビゾンビの名前が「ジャック」の武器を見つける最も簡単な方法は何ですか?Railsでのテーブル接続による検索
ありがとうございます!
Weapon.includes(:zombie).where("zombies.name = ?", "jack")
これは、コレクションを返すので、あなただけの最初のをしたい場合は、そのクエリへ.first
を追加します。
結論として、includeはjoinを行うだけでなく、where節でそれを参照することができるようにincludeテーブルを保持します。
最後に.first()を追加すると、何も見つからない場合に例外が発生しませんか? – mkk
.includes()は何をしますか?それはなぜ必要なのですか? ':zombie => {:name =>" jack "}' – joshim5
@mkkいいえ、空の配列を返すので、 '' zombie.name =? ''、 ] ')、' .first'を呼び出すと 'nil'だけが返されます。 – MrDanA