public function fetchAmountPerStreamChart() { $streams =
$this->connection
->
createQueryBuilder() ->
select(['id', 'name'
]) ->
from('s_customer_streams'
) ->
execute()->
fetchAll(PDO::FETCH_KEY_PAIR
);
$date =
(new DateTime())->
sub(new DateInterval('P' .
(int) 12 . 'M'
));
$query =
$this->
createAmountPerMonthQuery($date);
$query->
addSelect('stream_mapping.stream_id as stream'
);
$query->
innerJoin('orders', 's_customer_streams_mapping', 'stream_mapping', 'stream_mapping.customer_id = orders.userID'
);
$query->
addGroupBy('stream_mapping.stream_id'
);
$streamAmount =
$query->
execute()->
fetchAll(PDO::FETCH_GROUP
);
$query =
$this->
createAmountPerMonthQuery($date);
$query->
andWhere('orders.userID NOT IN (SELECT DISTINCT customer_id FROM s_customer_streams_mapping)'
);
$amount =
$query->
execute()->
fetchAll(PDO::FETCH_KEY_PAIR
);
$default =
['unassigned' => 0
];
foreach (array_keys($streams) as $id) {