gpt4 book ai didi

php - 使用 foreach 进行 api 调用以循环数组

转载 作者:行者123 更新时间:2023-12-02 02:42:38 25 4
gpt4 key购买 nike

下面的代码获取了用户的所有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似乎不起作用。

最佳答案

注意实际上这个谜团是由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;
}

关于php - 使用 foreach 进行 api 调用以循环数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63326406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com