laravel Php 8 error Cannot use positional argument after named argument

tcbh2hod  于 2023-05-08  发布在  PHP
关注(0)|答案(4)|浏览(244)
public function index(){

 $products = Product::all();

return view(view:'admin.products.index', compact(varname: 'products'));

}

这个函数的目的是从我的数据库中检索数据,并显示在我运行它的页面上,但我一直得到我在标题中提到的错误

iszxjhcz

iszxjhcz1#

问题是不言自明的:

return view(view:'admin.products.index', compact(var_name: 'products'));

这里使用了命名参数view,然后后跟一个没有名称的参数,即。立场论证您需要将其更改为:

return view(view:'admin.products.index', data: compact(var_name: 'products'));

正如@Repox提到的,compact中的参数名称也是var_name

niknxzdl

niknxzdl2#

compact function的参数名称拼写错误。应该是var_name而不是varname

public function index() {

    $products = Product::all();

    return view(view:'admin.products.index', compact(var_name: 'products'));

}
llycmphe

llycmphe3#

可以写得更简单一些,比如

return view('admin.products.index', compact('products'));

紧凑(数组|string $var_name,array| string ...$var_names):数组
https://www.php.net/compact

n3h0vuf2

n3h0vuf24#

$products = Product::all();

return view(view: 'admin.products.index',data: compact('products'));

这段代码在我的PC上运行。如果你使用的是PHPStorm,请确保view,data,compact自动生成。不要复制和粘贴-它可能不起作用。

相关问题