コード例 #1
0
 public function listProductOptionGroup()
 {
     if (!Request::ajax()) {
         return App::abort(404);
     }
     $start = Input::has('start') ? (int) Input::get('start') : 0;
     $length = Input::has('length') ? Input::get('length') : 10;
     $search = Input::has('search') ? Input::get('search') : [];
     $productOptionGroups = ProductOptionGroup::select('id', 'name', 'key', 'description');
     if (!empty($search)) {
         foreach ($search as $key => $value) {
             if (empty($value)) {
                 continue;
             }
             $value = ltrim(rtrim($value));
             $productOptionGroups->where($key, 'like', '%' . $value . '%');
         }
     }
     $order = Input::has('order') ? Input::get('order') : [];
     if (!empty($order)) {
         $columns = Input::has('columns') ? Input::get('columns') : [];
         foreach ($order as $value) {
             $column = $value['column'];
             if (!isset($columns[$column]['name']) || empty($columns[$column]['name'])) {
                 continue;
             }
             $productOptionGroups->orderBy($columns[$column]['name'], $value['dir'] == 'asc' ? 'asc' : 'desc');
         }
     }
     $count = $productOptionGroups->count();
     if ($length > 0) {
         $productOptionGroups = $productOptionGroups->skip($start)->take($length);
     }
     $arrOptionGroups = $productOptionGroups->get()->toArray();
     $arrReturn = ['draw' => Input::has('draw') ? Input::get('draw') : 1, 'recordsTotal' => ProductOptionGroup::count(), 'recordsFiltered' => $count, 'data' => []];
     if (!empty($arrOptionGroups)) {
         foreach ($arrOptionGroups as $optionGroup) {
             $arrReturn['data'][] = array(++$start, $optionGroup['id'], $optionGroup['name'], $optionGroup['key'], $optionGroup['description']);
         }
     }
     $response = Response::json($arrReturn);
     $response->header('Content-Type', 'application/json');
     return $response;
 }