Laravel 4 Laravel orm按自定义属性排序

Laravel 4 Laravel orm按自定义属性排序,laravel-4,orm,Laravel 4,Orm,在我的用户模型中,我添加了自定义属性get number of post user已创建。 我可以成功地得到它,但当我试图按它的顺序给错误 1054 Unknown column 'posts' in 'order clause' 你能告诉我们你正在进行的有说服力的询问是什么吗?还要确保您使用的表的名称是正确的 编辑: 用户表中是否存在posts列?或者,您是否试图从Post模型中获取所有帖子,并按其名称降序排列 如果这就是你想要做的,那么你需要转到你的用户模型,并建立你与帖子的关系 在用户

在我的用户模型中,我添加了自定义属性get number of post user已创建。 我可以成功地得到它,但当我试图按它的顺序给错误

1054 Unknown column 'posts' in 'order clause' 

你能告诉我们你正在进行的有说服力的询问是什么吗?还要确保您使用的表的名称是正确的

编辑:

用户表中是否存在posts列?或者,您是否试图从Post模型中获取所有帖子,并按其名称降序排列

如果这就是你想要做的,那么你需要转到你的用户模型,并建立你与帖子的关系

在用户模型中创建此方法:

公共职能岗位(){
return$this->hasMany('Post');//Post将是Posts模型的名称
}
在Post模型中,请执行以下操作:

公共函数用户(){
返回$this->belongsTo('User');//其中User是用户模型的名称
}
然后根据Laravel文档,您可以对查询执行以下操作:

$users=User::with(数组('posts'=>函数($query)
{
$query->orderBy('name','desc');//假设“name”是您要排序的posts表中的列
}))->取(5)->get();
我希望我是正确的,这有助于解决您的问题。

User::select(array('id','username')->orderBy('posts','desc')->take(5)->get();