Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Class MyExport
- */
- class MyExport
- {
- /**
- * @param \DataContainer $dc
- *
- * @return \Model\Collection|null|static
- */
- public function getRecords(\DataContainer $dc)
- {
- $filter = $dc->Session->get('filter')[$dc->table];
- $search = $dc->Session->get('search')[$dc->table];
- $sorting = $dc->Session->get('sorting')[$dc->table];
- // I don't need any limit settings
- unset($filter['limit']);
- $i = 0;
- $arrFields = array();
- $arrOptions =array();
- // add filter settings
- if (is_array($filter)) {
- foreach ($filter as $k => $v) {
- $arrFields[0][$i] = $dc->table . '.' . $k . '=?';
- $arrFields[1][$i] = $v;
- $i++;
- }
- }
- // add search settings
- if (!empty($search['value'])) {
- $arrFields[0][$i] = 'LOWER(CAST(' . $dc->table . '.' . $search['field'] . ' AS CHAR)) REGEXP LOWER(?)';
- $arrFields[1][$i] = $search['value'];
- // alternative: get german umlauts a as รค
- // $arrFields[0][$i] = $dc->table . '.' . $search['field'] . ' LIKE ?';
- // $arrFields[1][$i] = '%' . $search['value'] . '%';
- }
- // add order settings
- $arrOptions['order'] = (!empty($sorting)) ? $sorting : 'id ASC';
- // fetch data / replace MyModel!
- if (!empty($arrFields)) {
- $objExport = MyModel::findBy(array_values($arrFields[0]), array_values($arrFields[1]), $arrOptions);
- } else {
- $objExport = MyModel::findAll($arrOptions);
- }
- return $objExport;
- }
- /**
- * @param \DataContainer $dc
- *
- * @return string
- */
- public function export(\DataContainer $dc)
- {
- $objExport = $this->getRecords($dc);
- dump($objExport);
- // get your data, fe. $objExport->id
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement