Структура таблицы laravel, показывающая наиболее понравившиеся статьи и меньше просмотров

пользователи могут добавлять статьи, а другим пользователям может понравиться или не понравиться, мне больше всего понравилось с меньшим представлением

пример: статья (A) имеет 500 просмотров и 10 подобных статей (B) имеет 50 просмотров и 10 нравится, что порядок будет (B), чем (A)

Это моя структура базы данных, и я объединяю их:

статьи таблица:

id | user_id | title | description | views | created_at | updated_at 

любит таблицу:

 id | user_id | article_id | like_type | created_at | updated_at 

запрос, чтобы получить понравилось считать:

 Article::leftJoin('likes', 'likes.article_id', '=', 'articles.id') ->select('articles.*', DB::Raw('SUM( 2 * likes.like_type -1) as likes_count')) ->groupBy('articles. ->get(); 

как я могу заказать?