У меня 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.






В этом случае все, что вам нужно сделать, это написать что-то вроде следующего:
Фрагмент модели пользователя:
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 многие-ко-многим, так как в ней есть четкая информация о взаимосвязи многих ко многим.
Кроме того, вы можете посмотреть здесь базовый использования отношений "многие ко многим".
Название вашей модели для языковой таблицы
Используйте Pivot Relationship.
Отношение Pivot очень полезно для соединения двух таблиц с использованием внешних ключей.
См. Ссылку ниже.
Что здесь Language_Model ...?