poi copio array1 dentro un nuovo array, dopodichè eseguo un foreach su array2, andando ad aggiungere il valore al nuovo array, se soddisfo una determinata condizione
Non c’è proprio modo di effettuare un sort sull’array finale?
Non ho idea di come dovrebbe funzionare il merge-sort, come soluzione potrei ciclare newarray, prendere solo le info che mi servono, metterle in un nuovo array, e riordinarmelo. E poi non usare più renderPartial…
Secondo me puoi fare quello che devi fare in sql e tirare fuori il risutato definitivo, senza cicli e riordini in php (se hai un milione di record cosa fai, tiri fuori un milione di dati per poi mostrarne 10?)
Si hai ragione. Lavorando con phpmyadmin mi sono creato le query corrispondenti, però poi come faccio a usare una query ad esempio come questa
select client.* from client left join website on client.id = website.client_id AND website.contract_end_date >=now() where website.id is not null group by client.id
$Criteria = new CDbCriteria;
$Criteria->alias = 'client';
$Criteria->join = 'left join website on client.id = website.client_id AND website.contract_end_date >=now()';
$Criteria->condition = 'website.id is not null group by client.id ORDER BY client.name';
$DataProviderNotExpired=new CActiveDataProvider('Client', array(
'criteria' => $Criteria,
));