Query:
SELECT t1.id
, t1.year
as service_year, t5.month
as service_month, t6.id as country_id, t6.country
, t7.id
as mobile_operator_id, t7.mobile_operator
, t1.service_id
, t1.gross_revenue_actual
, t1.content_partner_share
, t2.service
, t4.collected_at
, t4.id
as invoice_id FROM PaymentCollections
t1 JOIN Services
t2 ON t1.service_id
= t2.id
JOIN PaymentCollectionInvoiceItems
t3 ON t3.payment_collection_id
= t1.id
JOIN PaymentCollectionInvoices
t4 ON t4.id
= t3.invoice_id
JOIN Months
t5 ON t5.id
= t1.month
JOIN Countries
t6 ON t6.id
= t2.country_id
JOIN MobileOperators
t7 ON t7.id
= t2.mobile_operator_id
WHERE t1.payment_collection_status_id
= 18 GROUP BY t1.year
, t1.month
ORDER BY t1.year
DESC, t1.month
ASC
When I run above typical query then found an array:
[0] => stdClass Object
(
[id] => 5132
[service_year] => 2016
[service_month] => April
[country_id] => 116
[country] => Kenya
[mobile_operator_id] => 3
[mobile_operator] => Airtel
[service_id] => 16
[gross_revenue_actual] => 11500.000000
[content_partner_share] => 1000.000000
[service] => Christianity Portal
[collected_at] => 2016-06-24 09:59:19
[invoice_id] => 105
)
[1] => stdClass Object
(
[id] => 4982
[service_year] => 2016
[service_month] => May
[country_id] => 116
[country] => Kenya
[mobile_operator_id] => 3
[mobile_operator] => Airtel
[service_id] => 16
[gross_revenue_actual] => 11500.000000
[content_partner_share] => 1000.000000
[service] => Christianity Portal
[collected_at] => 2016-06-24 10:02:21
[invoice_id] => 106
)
[2] => stdClass Object
(
[id] => 4732
[service_year] => 2016
[service_month] => June
[country_id] => 116
[country] => Kenya
[mobile_operator_id] => 3
[mobile_operator] => Airtel
[service_id] => 16
[gross_revenue_actual] => 11000.000000
[content_partner_share] => 1000.000000
[service] => Christianity Portal
[collected_at] => 2016-06-24 13:13:42
[invoice_id] => 114
)
[3] => stdClass Object
(
[id] => 5522
[service_year] => 2015
[service_month] => December
[country_id] => 51
[country] => Congo(Republic of)
[mobile_operator_id] => 31
[mobile_operator] => MTN
[service_id] => 56
[gross_revenue_actual] => 11500.000000
[content_partner_share] => 1000.000000
[service] => Music On Demand
[collected_at] => 2016-06-24 11:26:09
[invoice_id] => 101
)
By using above array, If service_year
, country
, mobile_operator
, service
are same but month are different then I want to create new array like below
$finalarray = {
0 = {
[id] => 4732,
[service_year] => 2016,
[service] => Christianity Portal,
[country] => Kenya,
[mobile_operator] => Airtel,
array{
array[April] {
[gross_revenue_actual] => 11500.000000
[content_partner_share] => 1000.000000
[collected_at] => 2016-06-24 10:02:21
},
array[May] {
[gross_revenue_actual] => 11000.000000
[content_partner_share] => 1000.000000
[collected_at] => 2016-06-24 13:13:42
},
array[June] {
[gross_revenue_actual] => 11000.000000
[content_partner_share] => 1000.000000
[collected_at] => 2016-06-24 13:13:42
},
}
}
1 = {
[id] => 5522
[service_year] => 2015
[service_month] => December
[country_id] => 51
[country] => Congo(Republic of)
[mobile_operator_id] => 31
[mobile_operator] => MTN
[service_id] => 56
[gross_revenue_actual] => 11500.000000
[content_partner_share] => 1000.000000
[service] => Music On Demand
[collected_at] => 2016-06-24 11:26:09
[invoice_id] => 101
}
}
How can I do this when I have used Laravel 5 framework? Is it possible to modify my query to get such type of array?
I appreciate all hints and responses. Thanks ahead.
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire