-1
У меня есть ajaxlistAction:Удалить пустые массивы из массива
public function ajaxlistAction()
{
$em = $this->getDoctrine()->getEntityManager();
$qb = $em->createQueryBuilder();
$qb->select('wfsd','b')
->from('TFTDataBundle:WpFormSubmittedData','wfsd')
->leftjoin('wfsd.customFieldData','b')
->leftjoin('b.custom_field','CustomField')
->getQuery()->getResult();
if (!empty($_GET['sSearch'])) {
$qb->andWhere('b.data like :search')->setParameter('search', "%{$_GET['sSearch']}%");
}
$qc = clone ($qb);
$qc->select('COUNT(DISTINCT b.id)');
$count = $qc->getQuery()->getSingleScalarResult();
$columns = array('CustomField.fieldLabel');
if(isset($_GET['iSortCol_0'])){
$dir = empty($_GET['sSortDir_0'])?'asc':$_GET['sSortDir_0'];
$qb->orderBy($columns[$_GET['iSortCol_0']], $dir);
}
if (empty($_GET['iDisplayLength'])) {
$_GET['iDisplayLength'] = 10;
}
if (empty($_GET['sEcho'])) {
$_GET['sEcho'] = 1;
}
if (!empty($_GET['iDisplayStart'])) {
$qb->setFirstResult($_GET['iDisplayStart']);
}
$qb->setMaxResults($_GET['iDisplayLength']);
$data = array();
foreach($qb->getQuery()->getResult() as $row) {
$rows = array();
foreach ($row->getCustomFieldData() as $customFieldData) {
$rows[] = $customFieldData->getData();
}
$data[] = $rows;
}
//$data = $qb->getQuery()->getArrayResult();
return new JsonResponse(array("sEcho"=>$_GET['sEcho'],"iTotalRecords"=>$count,"iTotalDisplayRecords"=>$count,'aaData'=>$data));
}
реакция этого действия, как этот
{"sEcho":"1","iTotalRecords":"44","iTotalDisplayRecords":"44","aaData":[[],[],[],[],[],[],[],["Name","[email protected]","this is subject","this is message"],["sdsd","[email protected]","asa","sdsd"],["sdsd","[email protected]","asa","sdsd"]]}
И я хочу, чтобы удалить пустые массивы и хотите вывода, как это
{"sEcho":"1","iTotalRecords":"44","iTotalDisplayRecords":"44","aaData":[["Name","[email protected]","this is subject","this is message"],["sdsd","[email protected]","asa","sdsd"],["sdsd","[email protected]","asa","sdsd"]]}
Как я могу удалить пустые массивы выше?
Пожалуйста, помогите мне, чтобы удалить эти подмассивы из полученного массива
Благодаря
Как вы получили этот массив? Возможно, механизм создания, который вы используете, дает возможность пропускать пустые результаты, что было бы предпочтительнее обычного «итерации по всему предмету и пропускания пустых подматриц». – dcsohl
Его JsonResponse и в нем aaData - массив @dcsohl –
, вы используете 'leftjoin', который будет возвращать строки, которые не связаны с вашим запросом, вы хотите использовать' innerjoin' или 'rightjoin' – cmorrissey