У меня есть 2 таблицы, названные как 'genre' и 'предпочитаемый_генр', в таблице 'предпочитаемый_генр' есть внешний ключ как 'genre_id', а также есть столбец 'user_id', я хочу получить все жанры, но сначалатот жанр, который имеет отношение внешнего ключа в таблице 'предпочитаемый_генр' и предпочитается вошедшим в систему пользователем.
жанр -> идентификатор, имя-жанра
предпочитаемый_генр -> идентификатор, идентификатор-жанра,user_id
# genre table #
===============
id | genre_name
---------------
1 | action
2 | comedy
3 | horror
4 | drama
# preferred_genre table #
=========================
id | genre_id | user_id
------------------------
1 | 2 | 5
2 | 4 | 5
3 | 1 | 8
4 | 4 | 8
пусть вошедшим в систему идентификатором пользователя является 5
$q = Genre::select('genres.*');
$q->leftJoin('preferred_genres', function($join)
{
$join->on('genres.id', '=', 'preferred_genres.genre_id');
$join->where('user_id','=',Auth::id());
});
$genre_list = $q->orderBy('preferred_genres.created_at', 'desc')->get();
Я хочу получить все жанры, но предпочитаемый жанром user_id 5, сначала, а затем вседругой жанр, как следует
id | genre_name
----------------
2 | comedy
4 | drama
1 | action
3 | horror