В laravel, как я могу получить данные одним запросом из 3 таблиц

У меня 3 стола

first table : language
2nd table : user_language 
3rd table : user 

в таблице user_language я сохранил language_id всех пользователей, его может быть несколько.

user_language Table 

user  language_id 
9         5  
13       10
17        8
17        3

language_table 
id     language
5      english
10     hindi
8      Tamil
3      Gujrati

user table 
id   name
9    amit
3    john
17    aman

Мой вопрос в laravel, как я могу получить весь пользовательский язык в одном запросе. запрос должен быть в laravel.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
49
3

Ответы 3

В этом случае все, что вам нужно сделать, это написать что-то вроде следующего:

Фрагмент модели пользователя:

public function languages() {
    return $this->belongsToMany(Language::class);
}

Фрагмент языковой модели

public function users() {
    return $this->belongsToMany(User::class);
}

вам нужно импортировать класс вверху

и вы можете получить пользовательские языки, такие как

для конкретного пользователя User::with('languages')->where('id', $userId)->first();

и для всех пользователей

User::with('languages')->get();

Используйте отношение "многие ко многим".

В пользовательской модели:

public function languages()
    {
        return $this->belongsToMany('Language_Model', 'user_language', 'user', 'language_id');
    }

Вы можете получить доступ к языку, используя:

$user->languages

Взгляните на документацию laravel многие-ко-многим, так как в ней есть четкая информация о взаимосвязи многих ко многим.

Кроме того, вы можете посмотреть здесь базовый использования отношений "многие ко многим".

Что здесь Language_Model ...?

Prashant mishra 13.08.2018 08:53

Название вашей модели для языковой таблицы

user10217709 13.08.2018 09:29

Используйте Pivot Relationship.

Отношение Pivot очень полезно для соединения двух таблиц с использованием внешних ключей.

См. Ссылку ниже.

Сводная связь

Другие вопросы по теме