I am trying to add an array to collection in Block Admin Grid but i want able to do that,
protected function _prepareCollection() {
//echo "preparecollection function"; exit;
$collectionlist = array();
$collection = $this->_collectionFactory->create()
->addAttributeToSelect('cb_exitintentt')
->addNameToSelect()
->addAttributeToSelect('group_id')
->addAttributeToFilter('cb_exitintentt', 1)
->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left')
->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left')
->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left')
->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left')
->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left');
foreach($collection->getdata() as $cusList ){
$ordercollection = $this->_orderCollectionFactory->create()
->addFieldToSelect('*')
->addFieldToFilter('customer_id',$cusList['entity_id'])
->setOrder('created_at','desc');
// $collection->getSelect()->from(null, array('last_order_date' => $data['0']['created_at']));
$coutOrders = $ordercollection->count();
if($ordercollection->getData()){
$data = $ordercollection->getData();
$sum = array_sum(array_column($data, 'base_grand_total'));
$lastOrderCreatedDate = $data['0']['created_at']; //exit;
$collectionlist[] = array('entity_id' => $cusList['entity_id'],
'email' => $cusList['email'],
'created_at' => $cusList['created_at'],
'group_id' => $cusList['group_id'],
'billing_telephone' => $cusList['billing_telephone'],
'billing_country_id' => $cusList['billing_country_id'],
'billing_region' => $cusList['billing_region'],
);
// print_r($collectionlist);
}
}
$attr = $collection->getSelect()->from(null, array('last_order_date' => $data['0']['created_at']));
$this->setCollection($collection);
return parent::_prepareCollection();
}