質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MongoDB

MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

Q&A

1回答

1633閲覧

シンボルと文字列が混在したフィールドから文字列のみを検索したい

steroid66

総合スコア14

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MongoDB

MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

0グッド

0クリップ

投稿2017/01/13 08:50

やりたいこと

  • あるモデル(Hoge)のフィールド(fuga)に登録処理のバグで、文字列("hoge")とシンボル(:hoge)がデータとして登録されています。

  • この中から文字列のデータ件数を取得したいです。

やったこと

Hoge.where(fuga: "hoge").count

上記のように文字列を指定してあげても、結果はシンボルも混在した状態で取得されます。

Hoge.where(fuga: "hoge").pluck(:fuga) >>> "hoge" >>> "hoge" >>> "hoge" >>> "hoge" >>> :hoge >>> "hoge" >>> :hoge >>> :hoge

どのようなクエリで文字列"hoge"だけを取得できるのでしょうか。

ご教示いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

現象が再現できません。
なにか別の要因があるのでは?

こちらで試してみた例:

[1] pry(main)> Idea.select(:name) Idea Load (0.1ms) SELECT name FROM "ideas" => [#<Idea name: ":hoge">, #<Idea name: "hoge">] [2] pry(main)> Idea.where(name: 'hoge').select(:name) Idea Load (0.1ms) SELECT name FROM "ideas" WHERE "ideas"."name" = 'hoge' => [#<Idea name: "hoge">] [3] pry(main)> Idea.where(name: ':hoge').select(:name) Idea Load (0.1ms) SELECT name FROM "ideas" WHERE "ideas"."name" = ':hoge' => [#<Idea name: ":hoge">]

where を実行したときに、どんな SQL が発行されているのかを確認してみると良いとおもいます。

投稿2017/01/15 02:31

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

steroid66

2017/01/18 06:02

ありがとうございました。 こちらの型を指定して検索することで解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問