【发布时间】:2018-07-09 19:31:01
【问题描述】:
我的数据库中有 2 个表。
books 和 ratings
在books
id, name
在ratings
id、book_id、rating
我已经为这些模型设置了很多关系。
所以在Book 模型中 -
public function ratings()
{
return $this->hasMany('App\Rating');
}
在Rating 模型中-
public function book()
{
return $this->belongsTo('App\Book');
}
现在我想获取所有具有平均评分但按高评分排序的书籍。
所以我先是高评分的书,然后是低评分。
那么我如何加入 2 个表来实现这个结果。
谢谢。
【问题讨论】:
-
我不会在这方面使用 ORM。怀疑它会扩展。利用数据库。获取排名和PK,然后在分页后使用ORM并通过ID加载少数。换句话说,使用 SQL。
-
感谢您的回复。那么我如何在 SQL 中做到这一点呢?
标签: php mysql laravel laravel-5 eloquent