我想写一个返回
的查询相关旅行的booker_id = self.id
的所有任务Task.joins(:trip).where('user_id = ? OR trip.booker_id = ?', self.id, self.id)
以上返回错误
PG::AmbiguousColumn: ERROR: column reference "user_id" is ambiguous
任何帮助/解释都将不胜感激
答案 0 :(得分:5)
您的user_id
表格中有trips
列,因此PG在您撰写user_id = ...
时并不知道您的意思。您需要指定表名,如下所示:
Task.joins(:trip).where('tasks.user_id = :id OR trip.booker_id = :id', id: self.id)