【发布时间】:2018-08-05 06:54:35
【问题描述】:
这是我的查询,也可以:
SELECT sum(r.rating) as rank,b.* FROM books as b
LEFT JOIN ranks as r ON b.id = r.book_id
WHERE 1
GROUP BY (b.id)
ORDER BY rank DESC
现在我想在 Laravel 中做同样的事情。这是我尝试过的:
// Book model
class Book extends Model
{
public function ranks()
{
return $this->hasMany(Rank::class)->sum("rating");
}
}
// Controller
$obj = new Book;
$get = $obj->ranks()->orderBy('rating', 'desc')->get();
它会抛出这个错误:
在整数上调用成员函数 groupBy()
知道如何解决这个问题吗?
【问题讨论】:
-
您可能会在这里找到答案:stackoverflow.com/questions/28267550/…
标签: php mysql laravel orm relationship