Jas*_*Kim 2 mysql ruby-on-rails ruby-on-rails-3
有没有办法比较数据库中的两列使用哪里?
说,我有两列用户告诉:
我想要一个与city_of_birth不同的favourite_city用户列表.
我希望这样的东西能起作用.
@users = User.where(
:city_of_birth != :favourite_city
).all
Run Code Online (Sandbox Code Playgroud)
运行此结果
undefined method `where' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
关于在哪里使用条件语句有类似的问题,但是没有一个是关于数据库本身中的列的条件语句.
提前感谢您的帮助.
错误与常量用户未定义有关,但是要回答关于where方法的问题...
:city_of_birth != :favourite_city
Run Code Online (Sandbox Code Playgroud)
这将永远是真的,所以你实际上在这样的地方打电话......
User.where(true)
Run Code Online (Sandbox Code Playgroud)
这恐怕没什么用.我想你可能会对可以使用的哈希条件语法感到困惑.这对你也没有多大用处.你需要使用像这样的字符串条件......
User.where('users.city_of_birth != users. favourite_city')
Run Code Online (Sandbox Code Playgroud)
这实际上只是一小段SQL,最终将包含在发送到数据库的最终语句中.