File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 77use App \Models \Product ;
88use Illuminate \Http \Request ;
99use Illuminate \Database \Eloquent \Builder ;
10+ use Illuminate \Support \Facades \Cache ;
1011use Illuminate \Support \Facades \Log ;
1112
1213class ProductListController extends Controller
@@ -148,7 +149,14 @@ public function allProducts(Request $request)
148149 }
149150 }
150151
151- $ products = $ query ->paginate (6 );
152+ $ cursor = $ request ->query ('cursor ' , 'default ' );
153+
154+ $ cacheKey = "products_list_v1_ " . $ cursor ;
155+
156+ $ products = Cache::remember ($ cacheKey , now ()->addMinutes (10 ), function () use ($ query ) {
157+ return $ query ->cursorPaginate (20 );
158+ });
159+
152160
153161 return ProductResource::collection ($ products );
154162 }
Original file line number Diff line number Diff line change 1919use Illuminate \Database \Eloquent \Relations \BelongsTo ;
2020use Illuminate \Database \Eloquent \Factories \HasFactory ;
2121use Illuminate \Database \Eloquent \Relations \BelongsToMany ;
22+ use Illuminate \Support \Facades \Cache ;
2223
2324class Product extends Model
2425{
@@ -142,6 +143,14 @@ public function getVariations()
142143 });
143144 }
144145
146+ protected static function booted ()
147+ {
148+ static ::saved (function ($ product ) {
149+
150+ Cache::flush ();
151+ });
152+ }
153+
145154 public function wholesalePrices ()
146155 {
147156 return $ this ->morphMany (WholeSalePrice::class, 'priceable ' );
You can’t perform that action at this time.
0 commit comments