| @@ 15-25 (lines=11) @@ | ||
| 12 | ||
| 13 | protected $isCachable = true; |
|
| 14 | ||
| 15 | public function avg($column) |
|
| 16 | { |
|
| 17 | if (! $this->isCachable) { |
|
| 18 | return parent::avg($column); |
|
| 19 | } |
|
| 20 | ||
| 21 | return $this->cache($this->makeCacheTags()) |
|
| 22 | ->rememberForever($this->makeCacheKey() . "-avg_{$column}", function () use ($column) { |
|
| 23 | return parent::avg($column); |
|
| 24 | }); |
|
| 25 | } |
|
| 26 | ||
| 27 | public function count($columns = ['*']) |
|
| 28 | { |
|
| @@ 27-37 (lines=11) @@ | ||
| 24 | }); |
|
| 25 | } |
|
| 26 | ||
| 27 | public function count($columns = ['*']) |
|
| 28 | { |
|
| 29 | if (! $this->isCachable) { |
|
| 30 | return parent::count($columns); |
|
| 31 | } |
|
| 32 | ||
| 33 | return $this->cache($this->makeCacheTags()) |
|
| 34 | ->rememberForever($this->makeCacheKey() . "-count", function () use ($columns) { |
|
| 35 | return parent::count($columns); |
|
| 36 | }); |
|
| 37 | } |
|
| 38 | ||
| 39 | public function cursor() |
|
| 40 | { |
|
| @@ 81-91 (lines=11) @@ | ||
| 78 | }); |
|
| 79 | } |
|
| 80 | ||
| 81 | public function first($columns = ['*']) |
|
| 82 | { |
|
| 83 | if (! $this->isCachable) { |
|
| 84 | return parent::first($columns); |
|
| 85 | } |
|
| 86 | ||
| 87 | return $this->cache($this->makeCacheTags()) |
|
| 88 | ->rememberForever($this->makeCacheKey($columns) . '-first', function () use ($columns) { |
|
| 89 | return parent::first($columns); |
|
| 90 | }); |
|
| 91 | } |
|
| 92 | ||
| 93 | public function get($columns = ['*']) |
|
| 94 | { |
|
| @@ 93-103 (lines=11) @@ | ||
| 90 | }); |
|
| 91 | } |
|
| 92 | ||
| 93 | public function get($columns = ['*']) |
|
| 94 | { |
|
| 95 | if (! $this->isCachable) { |
|
| 96 | return parent::get($columns); |
|
| 97 | } |
|
| 98 | ||
| 99 | return $this->cache($this->makeCacheTags()) |
|
| 100 | ->rememberForever($this->makeCacheKey($columns), function () use ($columns) { |
|
| 101 | return parent::get($columns); |
|
| 102 | }); |
|
| 103 | } |
|
| 104 | ||
| 105 | public function max($column) |
|
| 106 | { |
|
| @@ 105-115 (lines=11) @@ | ||
| 102 | }); |
|
| 103 | } |
|
| 104 | ||
| 105 | public function max($column) |
|
| 106 | { |
|
| 107 | if (! $this->isCachable) { |
|
| 108 | return parent::max($column); |
|
| 109 | } |
|
| 110 | ||
| 111 | return $this->cache($this->makeCacheTags()) |
|
| 112 | ->rememberForever($this->makeCacheKey() . "-max_{$column}", function () use ($column) { |
|
| 113 | return parent::max($column); |
|
| 114 | }); |
|
| 115 | } |
|
| 116 | ||
| 117 | public function min($column) |
|
| 118 | { |
|
| @@ 117-127 (lines=11) @@ | ||
| 114 | }); |
|
| 115 | } |
|
| 116 | ||
| 117 | public function min($column) |
|
| 118 | { |
|
| 119 | if (! $this->isCachable) { |
|
| 120 | return parent::min($column); |
|
| 121 | } |
|
| 122 | ||
| 123 | return $this->cache($this->makeCacheTags()) |
|
| 124 | ->rememberForever($this->makeCacheKey() . "-min_{$column}", function () use ($column) { |
|
| 125 | return parent::min($column); |
|
| 126 | }); |
|
| 127 | } |
|
| 128 | ||
| 129 | public function pluck($column, $key = null) |
|
| 130 | { |
|
| @@ 147-157 (lines=11) @@ | ||
| 144 | }); |
|
| 145 | } |
|
| 146 | ||
| 147 | public function sum($column) |
|
| 148 | { |
|
| 149 | if (! $this->isCachable) { |
|
| 150 | return parent::sum($column); |
|
| 151 | } |
|
| 152 | ||
| 153 | return $this->cache($this->makeCacheTags()) |
|
| 154 | ->rememberForever($this->makeCacheKey() . "-sum_{$column}", function () use ($column) { |
|
| 155 | return parent::sum($column); |
|
| 156 | }); |
|
| 157 | } |
|
| 158 | ||
| 159 | protected function makeCacheKey(array $columns = ['*'], $idColumn = null) : string |
|
| 160 | { |
|