比较2个表中2列的值并计算rails中的总匹配项

坑底

我在rails应用程序中有2个表,其中一个是Products,另一个是Users

在产品表中,我有一个created_by_id,它是一个与创建它的用户ID匹配的整数。我需要显示正在运行的所有产品,但这样做有问题。

class ApplicationController < ActionController::Base

  protect_from_forgery with: :exception

  def ensure_logged_in
    unless current_user
      flash[:alert] = "Please log in"
      redirect_to root_path
    end
  end

  def totalprods
   Product.all.joins(:users).where("created_by_id LIKE current_user.id").count
  end

  helper_method :current_user

  private

  def current_user
    @current_user ||= User.find(session[:user_id]) if session[:user_id]
  end

end

我是新来的人,所以对不起,如果我搞砸了

奥马尔·阿里(Omar Ali)

app/models/user.rb文件中,添加:

has_many :products, foreign_key: 'created_by_id'

然后,您可以使用:

current_user.products.count

PS:最好调用该列user_id而不是调用该列created_by_id因为Rails可以猜测关联列是否为format <model_lower_case>_id

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何比较2个表以匹配SAS中列的值?

比较2个工作簿中的2列,如果找到匹配项,则复制匹配的行

如果存在其他2个表中的匹配项,则获取所有表值

比较表中的 2 列值并在新列中显示匹配值。列值以逗号分隔

比较和匹配2列,并将匹配项的值从工作簿1的下一列复制到工作簿2中的空列以匹配项目

比较2个表的每一列,并使用python中的循环在第3个表中写入匹配的行

在多列匹配的表2中的表1中添加一个值

将2个表中的2列与DISTINCT值进行比较

mySQL - 比较 2 个表中的值是否相等

Google表格:如何计算2列中的匹配值

比较一个表中2个列值的总和与第二个表SQL Server中另一个列的值

如何比较Sql Server表中的2列值

查询表 1 中的所有值,仅查询表 2 中的匹配项

VBA 宏可在 2 张工作表上的 2 列中查找部分匹配项,并将值从工作表 2 复制到工作表 1

比较2个文件的awk,并从一列中减去值,如果两个文件中另一列的值均匹配

比较 2 个表的多列,其中一些列在 oracle 中具有逗号分隔值

搜索不同工作表上的 2 个值之间的匹配项,并使用谷歌应用脚本将另一列中的数据检索到第一张工作表中

选择语句以从表中的列中获取2个值

比较两列中的值并从另一个表Power BI中获取匹配值

如何比较 2 个不同数据库中的 2 个表并仅更新更改的值?

计算不同列中2个值的出现次数

将 2 个表与两个表中的 2 列匹配

比较GroupBy中的值并计算匹配的行

从2个范围中查找匹配项并将匹配项替换为特定值,是否有优化的方法?

在表中添加2个新列,我得到“列数与第1行的值计数不匹配”

如果找到匹配项,则比较两个不同数据框中的列,将电子邮件从df2复制到df1

比较两个列表并从 list2 中删除第一个匹配的重复项

在一个表中显示2列,在第3列中显示最大计数,在另一表中显示计算出的值总和

将数据框中 2 列中的元素与 2 个输入值进行比较