Optimizes DB query and result processing code
This commit is contained in:
@ -73,8 +73,7 @@ class SendingQueue extends APIEndpoint {
|
||||
return $segment['id'];
|
||||
}, $segments);
|
||||
$subscribers = Subscriber::getSubscribedInSegments($segment_ids)->findArray();
|
||||
$subscribers = Helpers::arrayColumn($subscribers, 'id');
|
||||
$subscribers = array_unique($subscribers);
|
||||
$subscribers = Helpers::flattenArray($subscribers);
|
||||
if(!count($subscribers)) {
|
||||
return $this->errorResponse(array(
|
||||
APIError::UNKNOWN => __('There are no subscribers in that list!', 'mailpoet')
|
||||
|
@ -77,8 +77,7 @@ class Scheduler {
|
||||
|
||||
// ensure that subscribers are in segments
|
||||
$subscribers = Subscriber::getSubscribedInSegments($segment_ids)->findArray();
|
||||
$subscribers = Helpers::arrayColumn($subscribers, 'id');
|
||||
$subscribers = array_unique($subscribers);
|
||||
$subscribers = Helpers::flattenArray($subscribers);
|
||||
|
||||
if(empty($subscribers)) {
|
||||
return $this->deleteQueueOrUpdateNextRunDate($queue, $newsletter);
|
||||
@ -107,9 +106,7 @@ class Scheduler {
|
||||
return $segment['id'];
|
||||
}, $segments);
|
||||
$subscribers = Subscriber::getSubscribedInSegments($segment_ids)->findArray();
|
||||
$subscribers = Helpers::arrayColumn($subscribers, 'id');
|
||||
$subscribers = array_unique($subscribers);
|
||||
|
||||
$subscribers = Helpers::flattenArray($subscribers);
|
||||
// update current queue
|
||||
$queue->subscribers = serialize(
|
||||
array(
|
||||
|
@ -450,7 +450,8 @@ class Subscriber extends Model {
|
||||
)
|
||||
->select('subscribers.id')
|
||||
->whereNull('subscribers.deleted_at')
|
||||
->where('subscribers.status', 'subscribed');
|
||||
->where('subscribers.status', 'subscribed')
|
||||
->distinct();
|
||||
return $subscribers;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user