Laravel docs give this example:
$value = Cache::remember('users', $minutes, function() {
return DB::table('users')->get();
});
In my case I have
public function thumb($hash, $extension)
{
Cache::remember('thumb-'.$hash, 15, function() {
$image = Image::where('hash', $hash)->first();
});
If I run that I get ErrorException in ImageController.php line 69: Undefined variable: hash
. I tried to pass $hash to function like so:
Cache::remember('thumb-'.$hash, 15, function($hash)
but then got another error as below:
Missing argument 1 for App\Http\Controllers\ImageController::App\Http\Controllers{closure}(), called in C:\xampp\htdocs\imagesharing\vendor\laravel\framework\src\Illuminate\Cache\Repository.php on line 316 and defined
How do I pass argument so I can use it in my query?
You need to pass it using use
.
Cache::remember('thumb-'.$hash, 15, function() use ($hash) {
$image = Image::where('hash', $hash)->first();
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With