【发布时间】:2020-01-23 11:57:59
【问题描述】:
我正在尝试在我的 PlayerController 中编写一个索引函数,因此我的 Vue 组件能够以这种形式创建一个包含 userId、userName、userVote 的数组:[{userId:1, userName:Jimmy,userVote:7}, {}...]
我有一个 Players 表和 Session 表,因为我的 Player.userSession 和 Session.sessionId 具有相同的属性,我正在使用 Laravel 的请求来获取此信息,使用具有 Session 的 ID 的其他类创建一个变量并获取所有用户谁是房间的一部分。
所有内容都应该保存并返回。
这是我目前的代码:
public function index(Request $request)
{
$room = $request->input('sessionId');
$currentPlayers = Player::where('userSession', $room)->get();
$userId = $currentPlayers->userId;
$userName = $currentPlayers->userName;
$userVote = $currentPlayers->userVote;
return json_encode([
'userId' => $userId,
'userName' => $userName,
'userVote' => $userVote]);
}
但现在它说:“此集合实例上不存在属性 [userId]。”
https://pasteboard.co/IyJyUZ0.png https://pasteboard.co/IyJypj5.png
【问题讨论】:
-
->get();返回一个行集合,你的意思是->first();?或者,您可以遍历集合,然后单独操作每个集合。 -
是的,使用 ->first() 确实有效 我已经尝试过,但我需要的不仅仅是一条记录……我怎样才能循环获得我的结果?
-
使用标准的
foreach。