https://teratail.com/questions/37605
上記の質問と類似していますが、
Userテーブルに
user_id
first_name
last_name
があります。
フォームからID番号とフルネームを入力、検索、結果を表示させたいのですが、、
Ruby
1[controller] 2 3#ID番号のみ 4@user_list = User.where( user_id: params[:in_user_id] 5 6#名前のみの検索(sql文) 7select * from Users where concat(last_name, first_name) like ?", "%山田太郎%" 8
上の二つの構文を合わせて記述したいのですが、Active Recordを使用する場合の記述方法がわかりません。
(チェインも今ひとつ理解できていません。申し訳ありません。)
どなたか教えてください。
----------------追記----------------
申し訳ありません、
ID番号は前方一致検索にしたかったのでした。。
回答くださったのを参考に
Ruby
1 2@name = "山田太郎" 3 4@user_list = User.where(user_id: params[:in_user_id]).where(concat(last_name, first_name) like ?, %@name%) 5
このように書き直しましたが、
SyntaxErrorが出てしまいます。
上記のコードで言うと
like ?
が怒られてるみたいなのですが、、すみませんお願いします。
回答2件
あなたの回答
tips
プレビュー