我正在使用 Laravel 5.4。我有如下三个表。
用户表
id name username
1 krish krish@gmail.com
2 kaviz kaviz@gmail.com
Angular 色表
id role sub_role
1 admin default
2 support default
3 Hr default
3 admin admin_1
roles_users
id user id role id
1 1 1
2 1 2
3 1 3
3 2 2
我的 Controller
$users=Rolesusers::all();
foreach($users as $user)
{
$user_names[]=User::where('id', '=', $user->user_id)->groupby('name')->select('name')->get();
}
return $user_name;
我的结果
[
{
"name": "krish"
}
{
"name": "krish"
}
{
"name": "krish"
}
{
"name": "kaviz"
}
]
但我需要一个没有重复值的结果,如下所示:
[
{
"name": "krish"
}
{
"name": "kaviz"
}
]
最佳答案
我认为您的查询正在为每个 $users 值运行,这就是为什么它为每个查询存储值您应该更改您的逻辑或者最后您在 php 中使用 array_unique() 函数希望这会有所帮助你
关于php - 在使用 where 条件后如何在 laravel 5.4 的表中获取没有重复值的单列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43966300/