Php 如何从Laravel中的数据库中获取用户名?
我是拉威尔的初学者。我正在尝试按用户Php 如何从Laravel中的数据库中获取用户名?,php,mysql,laravel,Php,Mysql,Laravel,我是拉威尔的初学者。我正在尝试按用户steam\u id取出用户名 我的表名为“用户””、“匹配玩家””和“匹配”” users表中有一行名为“steam\u id”和“username” match\u玩家表中有一行“steam\u id”和“match\u id” matches表中还有一行名为“match\u id” 我需要使用match\u idsteam\u idusername 例如: 用户表格: 用户名:Paul | steam_id:0:0:045658 匹配表: 匹配id:d5
steam\u id
取出用户名
我的表名为“用户”
”、“匹配玩家”
”和“匹配”
”
users
表中有一行名为“steam\u id
”和“username
”
match\u玩家
表中有一行“steam\u id
”和“match\u id
”
matches
表中还有一行名为“match\u id
”
我需要使用match\u id
steam\u id
username
例如:
用户
表格:
用户名:Paul | steam_id:0:0:045658
匹配
表:
匹配id:d54gwdG566G
匹配球员
表格:`
蒸汽id:0:0:045658 |匹配id:d54gwdG566G
我试过这样的方法:
控制器:
我的看法是:
刀片:
@foreach ($match->CTplayers as $CTplayer)
<tr>
<td>{{ $CTplayer->name }}</td>
<td>{{ $CTplayer->kills }}</td>
<td>{{ $CTplayer->deaths }}</td>
</tr>
@endforeach
@foreach($match->CTplayer作为$CTplayer)
{{$CTplayer->name}
{{$CTplayer->kills}
{{$CTplayer->死亡}
@endforeach
您应该尝试加入:
我认为这段代码应该可以工作,但我没有测试:
$match->CTplayers = DB::table('match_players AS mp')
->leftJoin('users AS u', 'u.steam_id', '=', 'mp.steam_id')
->where('mp.match_id', '=', $match->match_id)
->select("mp.*", "u.username")
->get();
在你看来,你可以得到:
@foreach ($match->Tplayers as $Tplayer)
<td>{{ $Tplayer->username }} {{ $match->CTplayersID }}</td>
<td>{{ $Tplayer->kills }}</td>
<td>{{ $Tplayer->deaths }}</td>
@endforeach
@foreach($match->Tplayer作为$Tplayer)
{{$Tplayer->username}{{$match->CTplayersID}
{{$Tplayer->kills}
{{$Tplayer->death}
@endforeach
希望这有帮助您可以尝试加入
$response = DB::table('match_players')
->join('users', 'users.steam_id', '=', 'match_players.steam_id')
->where('match_players.match_id', '=', $match->match_id)
->select('users.username')
->get();
在match players表的模型中定义关系
public function username()
{
return $this->hasOne('App\Models\User', 'steam_id', 'steam_id');
}
然后在控制器中
$players = DB::table('match_players')->where('match_id', '=', $match->match_id)->where('team', '=', 1)->get();
foreach($players as $value)
{
echo $value->username->username;
}
我会给你用户名。你应该尝试加入。你应该尝试拉维关系。你尝试过创建模型及其关系吗?编辑了我的第一篇文章。但还是不明白如何去掉用户名?我由你的代码编辑谢谢你!现在明白了!
$response = DB::table('match_players')
->join('users', 'users.steam_id', '=', 'match_players.steam_id')
->where('match_players.match_id', '=', $match->match_id)
->select('users.username')
->get();
public function username()
{
return $this->hasOne('App\Models\User', 'steam_id', 'steam_id');
}
$players = DB::table('match_players')->where('match_id', '=', $match->match_id)->where('team', '=', 1)->get();
foreach($players as $value)
{
echo $value->username->username;
}