Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.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
Ruby on rails Rails:按两个外国参照物排序_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails:按两个外国参照物排序

Ruby on rails Rails:按两个外国参照物排序,ruby-on-rails,Ruby On Rails,我有如下rails模型: 股票: 有一个:位置 有一个:产品 产品: 属于:股票 地点: 属于:股票 在DB Stock中有两个外键列: 位置标识 产品标识 在查询库存时,我想按名称列的位置和产品位置排序,然后是产品,如何连接这三个表和排序 目前我最大的挑战是如何连接两个表,我经常在SQL输出中得到错误的列名,下面是一个示例: 在locations.id=stocks.id上选择stocks.*FROM stocks internal JOIN locations 应在哪里: 选择stocks.

我有如下rails模型:

股票:

有一个:位置

有一个:产品

产品:

属于:股票

地点:

属于:股票

在DB Stock中有两个外键列:

位置标识

产品标识

在查询库存时,我想按名称列的位置和产品位置排序,然后是产品,如何连接这三个表和排序

目前我最大的挑战是如何连接两个表,我经常在SQL输出中得到错误的列名,下面是一个示例:

在locations.id=stocks.id上选择stocks.*FROM stocks internal JOIN locations

应在哪里:

选择stocks.*从locations.id=stocks.location\u id上的stocks内部连接位置


我了解到我可能在模型中缺少一些外键属性,但不知道如何添加它们

似乎您将外键放在了错误的表中

“products”和“locations”表都应具有“stock_id”,此代码才能工作:

class Stock < ActiveRecord::Base
  has_one :location
  has_one :product
end

class Location < ActiveRecord::Base
  belongs_to :stock
end

class Product < ActiveRecord::Base
  belongs_to :stock
end