I have a php(laravel) code that i try to improve. Right now there are 50 DB calls but i figured out that it's probably possible to do this in 1 DB call but i'm not sure how though. I want to do the DB::Table('app_transaction_infos') query with the array of id's ($loaded_app_ids) and get as a result the first where('app_id', $loaded_app_id) for every id. After that i will run the loop on in, instead of looping the query over and over again. Now i'm not sure though how to write that query for an array as i described.
foreach($loaded_app_ids as $loaded_app_id){
if(empty($app_users_30d[$loaded_app_id])){
// Create array with the app id to show it had 0 data in the last 30 days
$app_users_30d[$loaded_app_id] = [];
// Check if any history data of this app is available
$appTransactionInfo = DB::Table('app_transaction_infos')->where('app_id', $loaded_app_id)->first();
// If no data at all imported, set to no data
if(empty($appTransactionInfo)) {
$nodata[$loaded_app_id] = 'nodata';
}
else{
$nodata[$loaded_app_id] = 'hasdata';
}
}
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire