在使用last(10)时的活动记录链接关联中,收到错误:
ActiveRecord :: StatementInvalid异常:Mysql2 ::错误:列'id' 在顺序条款是不明确的
为了解决这个问题,我们通常会指定表名,即posts.id,但是如何将最后一个逻辑放在一起?
在查看ActiveRecord Last的文档后,发现它使用了主键。我们还可以指定自定义属性吗?
感谢任何帮助或想法。
由于
答案 0 :(得分:1)
错误表示您按名为id
的列进行排序,并且您的from
和join
子句中至少包含两个包含具有该名称的列的表。您需要相应地对其进行限定,例如: yourtable.id
。
答案 1 :(得分:0)
感谢MrYoshji先生的建议,激活记录的最后一个交替工作。
您可以传递限制或特定列,但不能同时传递两者。
它只接受属性,如果是整数类型,它使用限制,根据文档
order("#{primary_key} DESC").limit(*args).reverse
用于指定“id”以外的属性我们可以使用:
Model.last(:order =>'models.score')
根据我的要求,它不是
order(“models.id desc”)。limit(12)
如果可以做得更好,请告诉我。
由于