filter('filterWithOptions') ->findArray(); } private static function scheduleWelcomeNewsletter($newsletter, $subscriber) { $queue = SendingQueue::create(); $queue->newsletter_id = $newsletter['id']; $queue->subscribers = serialize( array( 'to_process' => array($subscriber['id']) ) ); $queue->count_total = $queue->count_to_process = 1; $after_time_type = $newsletter['afterTimeType']; $after_time_number = $newsletter['afterTimeNumber']; $scheduled_at = null; switch($after_time_type) { case 'hours': $scheduled_at = Carbon::now() ->addHours($after_time_number); break; case 'days': $scheduled_at = Carbon::now() ->addDays($after_time_number); break; case 'weeks': $scheduled_at = Carbon::now() ->addWeeks($after_time_number); break; } if($scheduled_at) { $queue->status = 'scheduled'; $queue->scheduled_at = $scheduled_at; } $queue->save(); } }