我有下面的代码,它获取用户的所有 cardId,我需要进行 api 调用来获取每张卡的详细信息。创建卡时会保存 cardId。获取卡的端点是这样的 - https://{baseUrl}/v3/virtual-cards/id我需要将用户的 cardId 作为 传递id。在我的应用程序中,我使用户可以创建多张卡,因此在创建卡时,我收集 cardId 并将其保存到我的数据库中。我可以使用以下命令从数据库中获取所有的cardId$auth_user = Auth::user()->id;$card = Card::where('user_id', $auth_user)->pluck('card_id');现在我想循环数据库中的所有 cardId,以使 api 调用获取每个 cardId 的所有数据。我已经尝试过了。 public function getCard(Request $request){ $auth_user = Auth::user()->id; $card = Card::where('user_id', $auth_user)->pluck('card_id'); foreach ($card as $userCard) { $response = Http::withToken('{SEC_KEY}')->get('https://{baseUrl}/v3/virtual-cards/$userCard', [ ]); return $response->json(); } }但foreach似乎不起作用。
2 回答
jeck猫
TA贡献1909条经验 获得超7个赞
注意实际上这个谜题是由 baikho 解决的,你应该接受他的回答,因为他是第一个,遗憾的是没有提供任何样本。
您不应该在第一次迭代中返回值,而是首先将它们收集在数组中并返回整个集合,而且变量的名称也很混乱。
public function getCardResponses(Request $request): array
{
$auth_user = Auth::user()->id;
$cards = Card::where('user_id', $auth_user)->pluck('card_id');
$responses = [];
foreach ($cards as $card) {
$response = Http::withToken('{SEC_KEY}')->get('https://{baseUrl}/v3/virtual-cards/$userCard', [
]);
$responses[] = $response->json();
}
return $responses;
}
- 2 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消