我有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中。
答案 0 :(得分:1)
在这种情况下,您要做的就是编写如下内容:
用户模型摘要:
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();
答案 1 :(得分:0)
使用多对多关系。
在用户模型中:
public function languages()
{
return $this->belongsToMany('Language_Model', 'user_language', 'user', 'language_id');
}
您可以使用以下语言访问语言:
$user->languages
请阅读laravel many-to-many文档,因为它具有有关多对多关系的清晰信息。
此外,您可以在这里查看basic多对多关系的用法。
答案 2 :(得分:0)