我正在使用 Ruby on Rails 3.2.9 和 MySQL。我有一个Article
带有user_id
属性的模型(此属性代表外键 -id
用于关联作者用户),我想检索订购那些“为”给定作者的文章。也就是说,鉴于我有以下记录:
<#Article id: 1, title: "Title 1", user_id: 1>
<#Article id: 2, title: "Title 2", user_id: 2>
<#Article id: 3, title: "Title 3", user_id: 1>
<#Article id: 4, title: "Title 4", user_id: 3>
<#Article id: 5, title: "Title 5", user_id: 1>
...
<#Article id: N, title: "Title N", user_id: M>
id
1
当我查找使用( )为作者“为”订购的文章时user_id = 1
,返回的文章应按如下顺序排列:
<#Article id: 1, title: "Title 1", user_id: 1>
<#Article id: 3, title: "Title 3", user_id: 1>
<#Article id: 5, title: "Title 5", user_id: 1>
<#Article id: 2, title: "Title 2", user_id: 2>
<#Article id: 4, title: "Title 4", user_id: 3>
...
<#Article id: N, title: "Title N", user_id: M>
换句话说,我希望检索所有文章,但按此“优先级”排序:给定作者创建的文章首先返回,然后是所有其他文章(也就是说,我想“推进”由给定的作者)。
我怎样才能做到这一点?
注意:我正在寻找一个 Ruby on Rails 实现,可能是通过该order
方法。