/**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     $records = ApplyRecord::orderBy('created_at', 'desc')->orderBy('id', 'desc');
     if (Input::has('fields')) {
         $fields = explode(',', Input::get('fields'));
         $records = $records->select($fields);
     }
     if (Input::has('list')) {
         $list = explode(',', Input::get('list'));
         $records = $records->whereIn('id', $list);
     }
     if (Input::has('user_list')) {
         $list = explode(',', Input::get('user_list'));
         $records = $records->whereIn('user_id', $list);
     }
     if (Input::has('board_list')) {
         $list = explode(',', Input::get('board_list'));
         foreach ($list as $key => $value) {
             if (!is_numeric($value)) {
                 $board = Board::where('code', $value)->first();
                 if ($board != null) {
                     $list[$key] = $board->id;
                 } else {
                     unset($list[$key]);
                 }
             }
         }
         $records = $records->whereIn('board_id', $list);
     }
     if (Input::has('type_list')) {
         $list = explode(',', Input::get('type_list'));
         var_dump($list);
         $records = $records->whereIn('event_type', $list);
     }
     if (Input::has('from') or Input::has('end')) {
         $from = Input::get('from', date('Y-m-d'));
         $end = Input::get('end', date('Y-m-d'));
         $records = $records->where(function ($records) use($from, $end) {
             $records->orWhereRaw("('{$from}' between `post_from` AND `post_end`)")->orWhereRaw("('{$end}'  between `post_from` AND `post_end`)")->orWhereRaw("'{$from}' <= `post_from` AND `post_end` <= '{$end}'");
         });
     }
     if (Input::has('date_list')) {
         $list = explode(',', Input::get('date_list'));
         $records = $records->where(function ($records) use($list) {
             foreach ($list as $date) {
                 if (strtotime($date)) {
                     $date = date('Y-m-d', strtotime($date));
                     $records = $records->orWhereRaw("('{$date}' between `post_from` AND `post_end`)");
                 }
             }
         });
     }
     if (Input::has('limit')) {
         $limit = Input::get('limit');
         $offset = Input::get('offset', 0);
         $records = $records->skip($offset)->take($limit)->get();
     } else {
         $records = $records->get();
     }
     foreach ($records as $key => $record) {
         $board = Board::find($record['board_id']);
         $user = User::find($record['user_id']);
         $type_mapping = Config::get('poster.name_mapping.event_types');
         $record->event_type_name = $type_mapping[$record->event_type];
         $record->board_code = $board->code;
         $record->username = $user->username;
         $record->user_title = $user->title;
     }
     return Response::json($records);
 }