У меня есть приложение, над которым я работаю. Я должен получить некоторые данные из внешнего API. Я сравниваю электронную почту из базы данных с электронной почтой в ответе, чтобы иметь возможность обновить пользователя, связанного с конкретным электронным письмом.
Вот мой полный код
public function checkpaysub(Request $request) {
$userss = User::all()->pluck('email');
//dd($userss);
foreach($userss as $users) {
$email = $users;
//$ref= $request->reference_code;
$url= 'https://api.paystack.co/customer/';
$url .= $email;
//dd($url);
$client = new Client();
$response = $client->request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer '.'##################',
],
]);
$statusCode = $response->getStatusCode();
$body = json_decode($response->getBody()->getContents());
$sub_cus = $body->status;
$sub_status = $body->data->subscriptions[0]->status;
$sub_email = $body->data->email;
$user_exist = User::where('email', $sub_email)->exists();
if(($body->status == 'true') && $user_exist && $sub_status){
$user = User::where('email', $sub_email)->first();
$user->sub_status = $sub_status;
$user->save();
$users = new UserResource(User::where('email', $sub_email)->first());
return response()->json(array(
'user' => $users
));
}
elseif (($body->status == 'true') && $user_exist) {
$user = User::where('email', $sub_email)->first();
$user->sub_status = "inactive";
$user->save();
$users = new UserResource(User::where('email', $sub_email)->first());
return response()->json(array(
'user' => $users
));
}
}
}
}
Это обновляет только одного пользователя. Я хочу l oop через электронную почту и обновить каждого пользователя на основе электронной почты.