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