foreach ループを使用して複数のリストにサブスクライバーを追加しようとしています。ただし、サブスクライバーは 1 つのリストにのみ追加されます。
したがって、$course は毎回正しい値を送信しています。しかし、TrainingCourse の find メソッドは、キャンペーン モニター ID を変更しません。間違ったレコードの ID を取得しています。
どこが間違っていますか?
foreach($selectedCourses as $course)
{
$courseCMId = TrainingCourse::find($course)->first();
$wrap = new CS_REST_Subscribers($courseCMId->campaign_monitor_id, $auth);
$result = $wrap->add([
'EmailAddress' => $registration->email,
'Name' => $registration->name,
'Resubscribe' => true
]);
if(!$result->was_successful())
{
$cm['status_code'] = $result->http_status_code;
return Redirect::to('training/register', compact('cm'))
->withErrors($validator)
->withInput(Input::except('password', 'password_confirmation'));
}
}