0

我正在尝试使用 where 子句搜索 Rails 表。

但是,我没有使用外键搜索字段的正确语法。

这就是我正在尝试的:

workorders = workorders.where("wonum like :search or description like :search or client.client_name like :search"

它适用于wonumand description,但不适用于client.client_name

工作订单表client_id在其中。

谢谢您的帮助!

更新1

我在控制台中得到这个:

SELECT COUNT(*) FROM "workorders" WHERE (wonum like '%Parks%' or description like '%Parks%' or client.client_name like '%Parks%' )
PG::Error: ERROR:  missing FROM-clause entry for table "client"
LINE 1: ...m like '%Parks%' or description like '%Parks%' or client.cli...
4

1 回答 1

0

workorders.includes(:clients).where(...)- 以便 Rails 知道包含 Clients 表。

感谢@Reddirt 纠正我的错误

于 2013-05-12T14:43:28.370 回答