Exemplo n.º 1
0
 /**
  * @param integer $pageId
  * @return array|null
  */
 private static final function loadPartsbyPageId($pageId)
 {
     if (!array_key_exists($pageId, static::$cached)) {
         self::$cached[$pageId] = Cache::tags(PagePartModel::table())->remember("pageParts::{$pageId}", Carbon::now()->addHour(1), function () use($pageId) {
             return PagePartModel::select('name', 'content', 'content_html')->where('page_id', $pageId)->get();
         });
     }
     return self::$cached[$pageId];
 }
Exemplo n.º 2
0
 /**
  * TODO: добавить кеширование на основе тегов.
  *
  * @param int $pageId
  *
  * @return array|null
  */
 private static final function loadPartsByPageId($pageId)
 {
     if (!array_key_exists($pageId, static::$cached)) {
         self::$cached[$pageId] = Cache::remember("pageParts::{$pageId}", Carbon::now()->addHour(1), function () use($pageId) {
             $parts = PagePartModel::select('id', 'name', 'content', 'content_html')->where('page_id', $pageId)->get();
             $return = [];
             foreach ($parts as $part) {
                 $return[$pageId][$part->name] = $part->toArray();
             }
             return $return;
         });
     }
     return self::$cached[$pageId];
 }