为了账号安全,请及时绑定邮箱和手机立即绑定

在 Laravel 的缓存中存储 API 调用的结果

在 Laravel 的缓存中存储 API 调用的结果

PHP
森栏 2022-07-22 10:14:48
Cache::remember如果尚未设置,我正在尝试使用来获取一些数据或将其存储在缓存中。$artists = Cache::remember('artists', 60, function(\Barryvanveen\Lastfm\Lastfm $lastfm){    return $lastfm->userTopArtists('un')->period(\Barryvanveen\Lastfm\Constants::PERIOD_WEEK)->limit(5)->get();});但我收到一个Symfony\Component\Debug\Exception\FatalThrowableError错误:Too few arguments to function App\Http\Controllers\HomeController::App\Http\Controllers\{closure}(), 0 passed in .../vendor/laravel/framework/src/Illuminate/Cache/Repository.php on line 383 and exactly 1 expected我在视图控制器中执行此操作,但已将上面的代码减少为 Tinker 中的可重现错误。这是在 Laravel 6.9.0 中,使用默认的file缓存驱动程序。
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

我设法让这个工作。而不是在闭包函数参数中传递类实例,它需要使用use

function() use (\Barryvanveen\Lastfm\Lastfm $lastfm) {


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信