Laravel 使用多个令牌获取请求

问题描述 投票:0回答:1

我正在 Laravel 10 中做一个简单的项目

在数据库中,我有一张表tokens,在列中,有一组特殊的令牌

我想全部获取它们并在 URL get 中调用它们,我这样做但它不会重复与剩余的tokens 的连接它只是以 JSON 形式获取它们

TokensController.php

我有不止一个代币

我从数据库中获取代币:

$codes = UsersTokens::select('tokens')->get();

代币 = "6374784926";

代币 = "8274748264";

代币 = "8489155538";

代币 = "15536485926";

我这样叫

foreach ($codes as $code){
$activeOrders = Http::asJson()->withToken($code->tokens)->get('https://api.example.com/v2/api');
return $activeOrders;
}

但它不起作用,令牌形成 DB UsersTokens,因为它看起来像 JSON!

我想获取带有多个令牌的链接,它会获取所有联系信息

php laravel get laravel-10
1个回答
0
投票

第一个问题调用时参数错误($codes应该是$code):

foreach ($codes as $code){
$activeOrders = Http::asJson()->withToken($code->tokens)->get('https://api.example.com/v2/api');
return $activeOrders;
}

关于第二个问题 updateOrCreate 方法适用于两个数组,第一个数组中的参数应该是唯一的(系统决定是否应该根据这些参数创建新条目或更新现有条目)。例子:

$conditional_entry = SomeModel::updateOrCreate(['param1' => $value1, 'param2' => $value2], ['param3' => $value3, 'param4' => $value4]);

Thisl 将以这种方式表现:

$conditional_entry = SomeModel::where('param1', $value1)->where('param2', $value2)->first();
if(isset($conditional_entry)){
  $conditional_entry->update(['param3' => $value3, 'param4' => $value4]);
}
else{
  $conditional_entry = SomeModel::create(['param1' => $value1, 'param2' => $value2, 'param3' => $value3, 'param4' => $value4]);
}

所以你的方法应该是这样的:

UsersTokens::updateOrCreate(
  [
    'avatar'=>$admin_info['data']['avatar'],
    'name'=>$admin_info['data']['name'],
    'domain'=>$admin_info['data']['domain'],
    'plan'=>$admin_info['data']['plan'],
    'admin'=>$admin_info['data']['name'],
    'mobile'=>$admin_info['data']['mobile'],
    'email'=>$admin_info['data']['email']
],
[
    'token'=>$admin_info['code']
]
);
© www.soinside.com 2019 - 2024. All rights reserved.