我正在为视图编辑器使用数组,当我尝试查看页面 Cannot use object of type Closure as array
时,它将引发此错误。
我尝试用雄辩的方法代替变量,但是最终没有奏效,因为这不是我使用它们的方式应该采用的结构。我还尝试在$view->with()
变量中创建一个函数。
public function compose(View $view)
{
$view->with('configurable', function() {
$configurables = Cache::rememberForever('configurables', function() {
return Configurables::all();
});
$configurable = [];
foreach($configurables as $key) {
$configurable[$key->slug] = [
'value' => $key->value
];
}
return $configurable;
});
}
答案 0 :(得分:1)
该错误意味着with()
方法需要一个值,而不是一个函数(闭包)。您可以按照以下方式重构代码:
public function compose(View $view)
{
$configurables = Cache::rememberForever('configurables', function() {
return Configurables::all();
});
$configurable = [];
foreach($configurables as $key) {
$configurable[$key->slug] = [
'value' => $key->value
];
}
$view->with('configurable', $configurable);
}
希望这会有所帮助。
答案 1 :(得分:-1)
尝试:
Configurables::all()->get();