Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用其他外键加入并搜索?_Mysql_Ruby On Rails_Join_Foreign Keys - Fatal编程技术网

Mysql 使用其他外键加入并搜索?

Mysql 使用其他外键加入并搜索?,mysql,ruby-on-rails,join,foreign-keys,Mysql,Ruby On Rails,Join,Foreign Keys,我得到了以下模型: class Coaching < ActiveRecord::Base ... belongs_to :user belongs_to :coach, class_name: 'User', foreign_key: 'coach_id' ... end 我怎样才能做到这一点呢?明白了 Coaching.joins(:user, :coach).where("users.lastname LIKE :search OR coaches_coaching

我得到了以下模型:

class Coaching < ActiveRecord::Base
  ...
  belongs_to :user
  belongs_to :coach, class_name: 'User', foreign_key: 'coach_id'
  ...
end
我怎样才能做到这一点呢?

明白了

Coaching.joins(:user, :coach).where("users.lastname LIKE :search OR coaches_coachings.lastname LIKE :search", search: "%#{params[:search]}%")

Rails称为
:coach
加入
coach\u coachings
出于某种原因,我在日志中看到了这一点,所以我用
coach\u coachings
替换了
coach\u coachings
,一切都很有魅力

Coaching.joins(:users,:coach)where('users.lastname LIKE:search或coach.lastname LIKE:search',search:“%{params[:search]}%”
那是一个打字错误,对不起。请粘贴你的代码你正在尝试做的
Coaching.joins(:user,:coach)。where('users.lastname LIKE:search或coach.lastname LIKE:search',search:“%{params[:search]}%”
试试这个,这和我正在使用的代码完全一样(在我编辑问题之后)
Coaching.joins(:user, :coach).where("users.lastname LIKE :search OR coaches_coachings.lastname LIKE :search", search: "%#{params[:search]}%")