我正在尝试迭代到最新的Laravel和Laravel Spark,目前遇到了从Laravel Spark 5到6的问题。加载我的应用程序时,出现以下错误:
Call to undefined method Laravel\Spark\Spark::teamString() (View: /home/vagrant/my-project/resources/views/vendor/spark/auth/register-common.blade.php)
据我所知,我的供应商文件夹中有Laravel Spark的正确实例,我已经composer dump-autoload
并通过artisan
清除了缓存。
根据说明,我在app.php
中具有以下内容:
Laravel\Spark\Providers\SparkServiceProvider::class,
Laravel\Cashier\CashierServiceProvider::class,
App\Providers\SparkServiceProvider::class,
我缺少明显的东西吗?我该怎么做才能进一步调试呢?
答案 0 :(得分:1)
升级我的Spark项目时遇到了这个问题,该修复程序将对Spark :: teamString的任何引用更改为Spark :: teamsPrefix。
答案 1 :(得分:1)
Greg V是正确的。您需要将teamString
更改为teamsPrefix
。这是因为在Spark v6.0中,Spark::referToTeamsAs()
已更改为Spark::prefixTeamsAs()
:https://spark.laravel.com/docs/6.0/upgrade
您可以在Spark的源代码中看到新方法(ManageAppOptions.php
第141-160行),并且teamString
和referToTeamsAs
不再存在:
/**
* Get the string used to describe teams.
*
* @return string
*/
public static function teamsPrefix()
{
return static::$teamsPrefix;
}
/**
* Set the string used to describe teams.
*
* @param string $string
* @return void
*/
public static function prefixTeamsAs($string)
{
static::$teamsPrefix = $string;
}