将订阅者添加到Campaign Monitor中的多个列表中



我正试图使用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'));
    }
}

更改行:

$courseCMId = TrainingCourse::find($course)->first();

至:

$courseCMId = DB::table('training_courses')->where('id', $course)->first();

解决了我的问题

最新更新