У меня есть две таблицы
field_values (с некоторыми данными)
id field_id value label sort
1 1 1 Men 1
2 1 2 Women 2
3 2 3 Relationship 1
4 2 4 Chat 2
5 2 5 Friendship 3
user_interests (с некоторыми данными)
user_id field_id value_id
1 1 1
1 2 4
1 2 5
Я пытаюсь написать запрос где я получу пользователя с идентификатором 1 и field_id 2, чтобы иметь возможность отображать в своих блейдах значения value_id 4 и 5, но не отображать эти идентификаторы, а отображать значение столбца 'label', которое соответствует таблице значений user_interests формы value_id в этом случае 4,5 чата, дружбы из таблицы field_values в этом примере. Вот что я попробовал, но я получил массив из шести элементов: Отношения, Чат, Дружба x2. Любая помощь приветствуется.
запрос:
public static function queryFunction($userId)
{
$results = DB::table('user_interests as uin')
->select(DB::raw("
fv.*,
uin.field_id, uin.value_id
"))
->join('field_values as fv', 'fv.field_id', '=', 'uin.field_id')
->where('uin.field_id', 2)
->where('uin.user_id', $userId)
->get();
dd($results);
return $results;
}