我正在尝试通过投票数a Post
得到Posts
表。 的票被存储在另一个表中模型中的Laravel计数函数,然后sortBy count()
(Votes: post_id, user_id, vote_type)
后型号:
class Post extends Model
{
public function user()
{
return $this->hasOne(User::class);
}
public function votes()
{
return DB::table('votes')->where('post_id','=',$this->id)->sum('vote_type');
}
}
票数函数返回票帖子已收到的数量(存储在一个单独的表中的投票数)
现在我试图按照他们得到的票数排列所有Posts
。
Post::get()->sortBy('votes');
这将返回follwing错误:
Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation
我将感谢任何帮助,以解决这个问题!
第一种解决方案不起作用:返回以下错误: '关系方法必须返回Illuminate \ Database \ Eloquent \ Relations \ Relation'类型的对象 这是因为votes()方法返回一个整数。 –
现在试试我忘了()那里 –
谢谢!这工作。你知道是否有任何possability分页的结果,因为它是一个集合的实例 –