Example #1
0
 public static function project_data($num, $order = null, $where = null, $type = 0, $offset = 0)
 {
     $num = intval($num);
     $offset = intval($offset);
     $key = 'project_' . $num . '_' . $order . '_' . $where . '_' . $type . '_' . $offset;
     if (Cache::store('project')->has($key)) {
         $date = Cache::store('project')->get($key);
         return $date;
     } else {
         switch ($order) {
             case byId:
                 $order_str = 'id';
                 break;
             case bySort:
                 $order_str = 'sort';
                 break;
             case byViews:
                 $order_str = 'views';
                 break;
             case byCost:
                 $order_str = 'cost';
                 break;
             default:
                 $order_str = 'id';
                 break;
         }
         $type = intval($type);
         switch ($where) {
             case findAll:
                 $date = Project::sortByDesc($order_str)->take($num)->Offset($offset)->get();
                 break;
             case findRecommend:
                 $date = Project::where('is_recommend', '>', 0)->sortByDesc($order_str)->take($num)->Offset($offset)->get();
                 break;
             case findCategory:
                 $date = Project::where('category_id', $type)->orderBy($order_str, 'desc')->take($num)->Offset($offset)->get();
                 break;
             default:
                 $date = Project::sortByDesc($order_str)->take($num)->Offset($offset)->get();
                 break;
         }
         $expiresAt = Carbon::now()->addMinutes(60);
         //设置缓存时间
         Cache::store('project')->put($key, $date, $expiresAt);
         return $date;
     }
 }
 public function index()
 {
     $projects = Project::sortByDesc('id')->paginate(20);
     return Theme::view('project.index', compact('projects'));
 }